Skip to content

Instantly share code, notes, and snippets.

@Korko
Last active August 29, 2015 14:11
Show Gist options
  • Save Korko/db0676536d74375a7b78 to your computer and use it in GitHub Desktop.
Save Korko/db0676536d74375a7b78 to your computer and use it in GitHub Desktop.
[Minecraft][Command BLocks][1.8] Door
/scoreboard objectives add DoorProximity dummy
/scoreboard objectives add DoorProximity_ dummy
/scoreboard objectives add DoorMove dummy
/scoreboard objectives add DoorClock dummy
/scoreboard objectives add DoorType dummy
/scoreboard players set @e[type=ArmorStand,name=Door] DoorProximity_ 0
/execute @e[type=ArmorStand,name=Door] ~ ~ ~ scoreboard players operation @e[r=0,c=1] DoorProximity_ = @e[r=0,c=1] DoorProximity
/scoreboard players set @e[type=ArmorStand,name=Door] DoorProximity 0
/stats entity @e[type=ArmorStand,name=Door] set SuccessCount @e[r=0,c=1] DoorProximity
/execute @e[type=ArmorStand,name=Door] ~-7 ~-10 ~-10 testfor @a[dx=14,dy=20,dz=20]
/stats entity @e[type=ArmorStand,name=Door] clear SuccessCount
/stats entity @e[type=ArmorStand,name=Door,score_DoorProximity=0,score_DoorProximity__min=1] set SuccessCount @e[r=0,c=1] DoorProximity
/execute @e[type=ArmorStand,name=Door,score_DoorProximity=0,score_DoorProximity__min=1] ~-10 ~-10 ~-10 testfor @a[dx=20,dy=20,dz=20]
/stats entity @e[type=ArmorStand,name=Door,score_DoorProximity__min=1] clear SuccessCount
/scoreboard players set @e[type=ArmorStand,score_DoorProximity_min=1] DoorMove 0
/execute @e[type=ArmorStand,score_DoorProximity_min=1] ~ ~ ~ detect ~ ~6 ~ minecraft:air 0 scoreboard players set @e[type=ArmorStand,r=0] DoorMove 1
/scoreboard players set @e[type=ArmorStand,score_DoorProximity=0] DoorMove 0
/execute @e[type=ArmorStand,score_DoorProximity=0] ~ ~ ~ detect ~ ~-1 ~ minecraft:air 0 scoreboard players set @e[type=ArmorStand,r=0] DoorMove 1
/scoreboard players set @e[type=ArmorStand,score_DoorMove=0] DoorClock 0
/scoreboard players add @e[type=ArmorStand,score_DoorMove_min=1] DoorClock 1
/scoreboard players set @e[type=ArmorStand,score_DoorClock_min=20] DoorClock 0
/execute @e[type=ArmorStand,name=Door,score_DoorProximity_min=1,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1] ~ ~ ~ clone ~ ~ ~ ~ ~5 ~5 ~ ~1 ~ replace move
/tp @e[type=ArmorStand,score_DoorProximity_min=1,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1] ~ ~1 ~
/execute @e[type=ArmorStand,name=Door,score_DoorProximity=0,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1] ~ ~ ~ clone ~ ~ ~ ~ ~5 ~5 ~ ~-1 ~ replace move
/tp @e[type=ArmorStand,score_DoorProximity=0,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1] ~ ~-1 ~
/execute @e[type=ArmorStand,name=Door] ~ ~ ~ detect ~ ~ ~ log -1 scoreboard players set @e[r=0,c=1] DoorType 1
/execute @e[type=ArmorStand,name=Door] ~ ~ ~ detect ~ ~ ~ iron_bars -1 scoreboard players set @e[r=0,c=1] DoorType 2
/execute @e[type=ArmorStand,score_DoorProximity=0,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1,score_DoorType=1,score_DoorType_min=1] ~ ~ ~ playsound tile.piston.out @a[r=50] ~ ~ ~ 10 0.5
/execute @e[type=ArmorStand,score_DoorProximity_min=1,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1,score_DoorType=1,score_DoorType_min=1] ~ ~ ~ playsound tile.piston.in @a[r=50] ~ ~ ~ 10 0.5
/execute @e[type=ArmorStand,score_DoorProximity=0,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1,score_DoorType=2,score_DoorType_min=2] ~ ~ ~ playsound tile.piston.out @a[r=50] ~ ~ ~ 10 1.5
/execute @e[type=ArmorStand,score_DoorProximity_min=1,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1,score_DoorType=2,score_DoorType_min=2] ~ ~ ~ playsound tile.piston.in @a[r=50] ~ ~ ~ 10 1.5
--- or in 1 command ---
/summon FallingSand ~ ~1 ~ {Block:redstone_block,Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:/fill ~ ~0 ~1 ~ ~-37 ~1 redstone_block},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~ ~3 ~1 stone},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~ ~4 ~ command_block 0 replace {Command:fill ~ ~2 ~ ~ ~-41 ~1 air}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:/scoreboard objectives add DoorType dummy},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:/scoreboard objectives add DoorClock dummy},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:/scoreboard objectives add DoorMove dummy},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:/scoreboard objectives add DoorProximity_ dummy},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:/scoreboard objectives add DoorProximity dummy},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~3 ~-29 ~-1 command_block 0 replace {Command:/scoreboard players set @e[type=ArmorStand,name=Door] DoorProximity_ 0}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~3 ~-28 ~1 command_block 0 replace {Command:/execute @e[type=ArmorStand,name=Door] ~ ~ ~ scoreboard players operation @e[r=0,c=1] DoorProximity_ = @e[r=0,c=1] DoorProximity}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~4 ~-27 ~-1 command_block 0 replace {Command:/scoreboard players set @e[type=ArmorStand,name=Door] DoorProximity 0}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~4 ~-26 ~1 command_block 0 replace {Command:/stats entity @e[type=ArmorStand,name=Door] set SuccessCount @e[r=0,c=1] DoorProximity}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~5 ~-25 ~-1 command_block 0 replace {Command:/execute @e[type=ArmorStand,name=Door] ~-7 ~-10 ~-10 testfor @a[dx=14,dy=20,dz=20]}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~5 ~-24 ~1 command_block 0 replace {Command:/stats entity @e[type=ArmorStand,name=Door] clear SuccessCount}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~6 ~-23 ~-1 command_block 0 replace {Command:/stats entity @e[type=ArmorStand,name=Door,score_DoorProximity=0,score_DoorProximity__min=1] set SuccessCount @e[r=0,c=1] DoorProximity}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~6 ~-22 ~1 command_block 0 replace {Command:/execute @e[type=ArmorStand,name=Door,score_DoorProximity=0,score_DoorProximity__min=1] ~-10 ~-10 ~-10 testfor @a[dx=20,dy=20,dz=20]}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~7 ~-21 ~-1 command_block 0 replace {Command:/stats entity @e[type=ArmorStand,name=Door,score_DoorProximity__min=1] clear SuccessCount}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~7 ~-20 ~1 command_block 0 replace {Command:/scoreboard players set @e[type=ArmorStand,score_DoorProximity_min=1] DoorMove 0}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~8 ~-19 ~-1 command_block 0 replace {Command:/execute @e[type=ArmorStand,score_DoorProximity_min=1] ~ ~ ~ detect ~ ~6 ~ minecraft:air 0 scoreboard players set @e[type=ArmorStand,r=0] DoorMove 1}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~8 ~-18 ~1 command_block 0 replace {Command:/scoreboard players set @e[type=ArmorStand,score_DoorProximity=0] DoorMove 0}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~9 ~-17 ~-1 command_block 0 replace {Command:/execute @e[type=ArmorStand,score_DoorProximity=0] ~ ~ ~ detect ~ ~-1 ~ minecraft:air 0 scoreboard players set @e[type=ArmorStand,r=0] DoorMove 1}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~9 ~-16 ~1 command_block 0 replace {Command:/scoreboard players set @e[type=ArmorStand,score_DoorMove=0] DoorClock 0}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~10 ~-15 ~-1 command_block 0 replace {Command:/scoreboard players add @e[type=ArmorStand,score_DoorMove_min=1] DoorClock 1}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~10 ~-14 ~1 command_block 0 replace {Command:/scoreboard players set @e[type=ArmorStand,score_DoorClock_min=20] DoorClock 0}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~11 ~-13 ~-1 command_block 0 replace {Command:/execute @e[type=ArmorStand,name=Door,score_DoorProximity_min=1,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1] ~ ~ ~ clone ~ ~ ~ ~ ~5 ~5 ~ ~1 ~ replace move}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~11 ~-12 ~1 command_block 0 replace {Command:/tp @e[type=ArmorStand,score_DoorProximity_min=1,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1] ~ ~1 ~}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~12 ~-11 ~-1 command_block 0 replace {Command:/execute @e[type=ArmorStand,name=Door,score_DoorProximity=0,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1] ~ ~ ~ clone ~ ~ ~ ~ ~5 ~5 ~ ~-1 ~ replace move}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~12 ~-10 ~1 command_block 0 replace {Command:/tp @e[type=ArmorStand,score_DoorProximity=0,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1] ~ ~-1 ~}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~13 ~-9 ~-1 command_block 0 replace {Command:/execute @e[type=ArmorStand,name=Door] ~ ~ ~ detect ~ ~ ~ log -1 scoreboard players set @e[r=0,c=1] DoorType 1}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~13 ~-8 ~1 command_block 0 replace {Command:/execute @e[type=ArmorStand,name=Door] ~ ~ ~ detect ~ ~ ~ iron_bars -1 scoreboard players set @e[r=0,c=1] DoorType 2}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~14 ~-7 ~-1 command_block 0 replace {Command:/execute @e[type=ArmorStand,score_DoorProximity=0,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1,score_DoorType=1,score_DoorType_min=1] ~ ~ ~ playsound tile.piston.out @a[r=50] ~ ~ ~ 10 0.5}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~14 ~-6 ~1 command_block 0 replace {Command:/execute @e[type=ArmorStand,score_DoorProximity_min=1,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1,score_DoorType=1,score_DoorType_min=1] ~ ~ ~ playsound tile.piston.in @a[r=50] ~ ~ ~ 10 0.5}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~15 ~-5 ~-1 command_block 0 replace {Command:/execute @e[type=ArmorStand,score_DoorProximity=0,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1,score_DoorType=2,score_DoorType_min=2] ~ ~ ~ playsound tile.piston.out @a[r=50] ~ ~ ~ 10 1.5}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:setblock ~15 ~-4 ~1 command_block 0 replace {Command:/execute @e[type=ArmorStand,score_DoorProximity_min=1,score_DoorMove_min=1,score_DoorClock=1,score_DoorClock_min=1,score_DoorType=2,score_DoorType_min=2] ~ ~ ~ playsound tile.piston.in @a[r=50] ~ ~ ~ 10 1.5}},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:gamerule commandBlockOutput false},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:"fill ~2 ~-2 ~ ~15 ~-2 ~ redstone_block"},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:"setblock ~2 ~-1 ~-1 command_block 0 replace {Command:/fill ~ ~ ~1 ~14 ~ ~1 stone 0 replace redstone_block}"},Time:1,Riding:{id:"FallingSand",Block:command_block,TileEntityData:{Command:"setblock ~2 ~ ~1 command_block 0 replace {Command:/fill ~ ~ ~-1 ~14 ~ ~-1 redstone_block 0 replace stone}"},Time:1,Riding:{id:"FallingSand",Block:stone,Time:1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment