Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ::section config
- name: Lumberjack Villagers
- #
- #
- # GAME VERSION:
- # Set this to the version you want to use this in:
- version: 1.11
- # (1.10 / 1.11)
- #
- #
- #
- #
- #
- #
- # SETTINGS:
- #
- # If true, Lumberjack villagers will have a green robe. 1.11 only.
- use-green-villager: true
- # (true / false)
- #
- #
- #
- #
- #
- #
- #
- #
- #
- #
- shape:box
- enable-math:true
- angle-unit:degrees
- update-gamerules:true
- fix-entities-1.11: true
- max-length:3
- max-height:8
- x-offset:3
- y-offset:2
- z-offset:-1
- include-success:false
- ::section before
- fill ~3 ~-2 ~-1 ~32 ~8 ~1 minecraft:quartz_block
- fill ~4 ~-2 ~-2 ~31 ~8 ~2 minecraft:quartz_block
- fill ~4 ~-1 ~-2 ~31 ~7 ~2 minecraft:stained_glass 13
- fill ~4 ~ ~-1 ~31 ~7 ~1 minecraft:air
- fill ~4 ~-1 ~-2 ~31 ~-1 ~2 minecraft:quartz_block
- fill ~4 ~ ~-1 ~31 ~ ~1 minecraft:carpet
- fill ~4 ~-1 ~-1 ~31 ~-1 ~1 minecraft:stained_hardened_clay
- fill ~4 ~-2 ~-1 ~31 ~-2 ~1 minecraft:redstone_lamp
- fill ~3 ~-2 ~ ~32 ~8 ~ minecraft:stained_hardened_clay 9 replace quartz_block
- ::section randomisation
- $shortcut breakTime 16
- $shortcut randomNBT CustomName:lv_random,PickupDelay:32767s,Item:{id:minecraft:stone_button,Count:1b},Tags:[lv_kill]
- :R!: scoreboard players tag @e[type=Villager,name=Villager,tag=] add lv_marked {Profession:3,Age:0}
- execute @e[type=Villager,tag=lv_marked] ~ ~ ~ summon Item ~ ~ ~ {$s randomNBT;,Tags:["true","lv_kill"],Passengers:[{id:Item,$s randomNBT;}]}
- execute @e[type=Villager,tag=lv_marked] ~ ~ ~ kill @r[type=Item,name=lv_random,r=1,c=1]
- execute @e[type=Item,name=lv_random,tag=true] ~ ~ ~ entitydata @e[type=Villager,tag=lv_marked,r=1,c=1] {CustomName:Lumberjack,Tags:["lv_init"]}
- entitydata @e[type=Villager,tag=lv_marked] {Tags:["lv_checked"]}
- scoreboard players set @e[type=Villager,name=Lumberjack,tag=lv_init] lv_state 0
- scoreboard players set @e[type=Villager,name=Lumberjack,tag=lv_init] lv_logs 16
- scoreboard players set @e[type=Villager,name=Lumberjack,tag=lv_init] lv_saplings 16
- scoreboard players set @e[type=Villager,name=Lumberjack,tag=lv_init] lv_treeType 0
- entitydata @e[type=Villager,name=Lumberjack,tag=lv_init] {Offers:{Recipes:[{maxUses:1,buy:{id:minecraft:emerald,Count:1},sell:{id:minecraft:log,Count:12}},{maxUses:1,buy:{id:minecraft:emerald,Count:1},sell:{id:minecraft:sapling,Count:9b,Damage:0s}}]}}
- :CONDITION: use-green-villager = true
- entitydata @e[type=villager,name=Lumberjack,tag=lv_init] {Profession:5}
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_init] remove lv_init
- ::section helper_tags
- :R!: scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_OnGround] remove lv_OnGround
- scoreboard players tag @e[type=Villager,name=Lumberjack] add lv_OnGround {OnGround:1b}
- tp @e[tag=lv_kill] ~ -512 ~
- scoreboard players add @e[type=Villager,name=Lumberjack] lv_state 0
- #
- # LUMBERJACK STATES
- # 0 = Idle
- # 1 = Transition to Searching (0-tick)
- # 2 = Searching (Holding axe) (Wolf AI)
- # 3 = Transition to Chopping (0-tick)
- # 4 = Chopping (Holding axe)
- # 5 = Pillar down
- # 6 = Transition to Idle (200-tick)
- #
- #
- ::section states
- #STATE 1
- :R!: execute @e[type=Villager,name=Lumberjack,score_lv_state==1] ~ ~ ~ summon Wolf ~ ~ ~ {CustomName:LumberjackAI,Invulnerable:1b,ActiveEffects:[{Id:14,Duration:10000000,Amplifier:0,ShowParticles:0b}],Team:"lv_AI",Silent:1b,Attributes:[{Name:generic.followRange,Base:80}]}
- execute @e[type=Villager,name=Lumberjack,score_lv_state==1] ~ ~ ~ summon ArmorStand ~ ~ ~ {CustomName:lv_axe,NoGravity:1b,Marker:1b,Invisible:1b,DisabledSlots:31,Silent:1b,HandItems:[{id:minecraft:iron_axe,Count:1b}],Pose:{RightArm:[-30.0f,0.0f,0.0f]},Marker:1b}
- execute @e[type=Villager,name=Lumberjack,score_lv_state==1] ~ ~ ~ execute @e[type=ArmorStand,name=lv_tree,r=80,c=1] ~ ~ ~ summon Rabbit ~ ~-1 ~ {CustomName:"lv_lumberjackLure",NoGravity:1b,NoAI:1b,Invulnerable:1b,ActiveEffects:[{Id:14,Duration:10000000,Amplifier:0,ShowParticles:0b}]}
- execute @e[type=ArmorStand,name=lv_tree] ~ ~ ~ teleport @e[type=Rabbit,name=lv_lumberjackLure,r=4,c=1] ~ ~-1 ~
- entitydata @e[type=Villager,name=Lumberjack,score_lv_state==1] {NoAI:1b}
- entitydata @e[type=Villager,name=Lumberjack,score_lv_state==6] {NoAI:0b}
- scoreboard players set @e[type=Villager,name=Lumberjack,score_lv_state==1] lv_state 2
- #STATE 2
- execute @e[type=Wolf,name=LumberjackAI] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,score_lv_state==2,r=5,c=1] @e[type=Wolf,name=LumberjackAI,r=0,c=1]
- execute @e[type=Wolf,name=LumberjackAI] ~ ~ ~ tp @e[type=ArmorStand,name=lv_axe,r=5,c=1] @e[type=Villager,name=Lumberjack,r=0,c=1]
- execute @e[type=Wolf,name=LumberjackAI] ~ ~ ~ scoreboard teams join lv_AI @e[type=Sheep,name=!lv_lumberjackLure,r=80]
- execute @e[type=Wolf,name=LumberjackAI] ~ ~ ~ scoreboard teams join lv_AI @e[type=Rabbit,name=!lv_lumberjackLure,r=80]
- execute @e[type=Wolf,name=LumberjackAI] ~ ~ ~ scoreboard teams join lv_AI @e[type=Skeleton,name=!lv_lumberjackLure,r=80]
- execute @e[type=Villager,name=Lumberjack,score_lv_state==2] ~ ~1 ~ detect ~ ~ ~ minecraft:leaves -1 setblock ~ ~1 ~ minecraft:air 0 destroy
- execute @e[type=Villager,name=Lumberjack,score_lv_state==2] ~ ~1 ~ detect ~ ~ ~ minecraft:leaves2 -1 setblock ~ ~1 ~ minecraft:air 0 destroy
- #STATE 3
- execute @e[type=Rabbit,name=lv_lumberjackLure] ~ ~.5 ~ scoreboard players set @e[type=Villager,name=Lumberjack,r=2,score_lv_state==2] lv_state 3
- execute @e[type=Villager,name=Lumberjack,score_lv_state==3] ~ ~ ~ tp @e[type=Wolf,name=LumberjackAI,r=1,c=1] ~ -512 ~
- execute @e[type=Villager,name=Lumberjack,score_lv_state_min=3,score_lv_state=4] ~ ~ ~ tp @e[type=ArmorStand,name=lv_axe,r=5,c=1] @e[type=Villager,name=Lumberjack,r=0,c=1]
- effect @e[type=Villager,name=Lumberjack,score_lv_state==3] minecraft:jump_boost 1000000 255 true
- $shortcut treeOffset 1.5
- execute @e[type=Villager,name=Lumberjack,score_lv_state==3] ~ ~ ~ execute @e[type=ArmorStand,name=lv_tree,c=1] ~$s treeOffset; ~1 ~ detect ~ ~ ~ minecraft:air -1 summon ArmorStand ~ ~ ~ {CustomName:lv_treeSide,Invisible:1b,Marker:1b,Small:1b,Rotation:[90.0f,30.0f]}
- execute @e[type=Villager,name=Lumberjack,score_lv_state==3] ~ ~ ~ execute @e[type=ArmorStand,name=lv_tree,c=1] ~-$s treeOffset; ~1 ~ detect ~ ~ ~ minecraft:air -1 summon ArmorStand ~ ~ ~ {CustomName:lv_treeSide,Invisible:1b,Marker:1b,Small:1b,Rotation:[-90.0f,30.0f]}
- execute @e[type=Villager,name=Lumberjack,score_lv_state==3] ~ ~ ~ execute @e[type=ArmorStand,name=lv_tree,c=1] ~ ~1 ~$s treeOffset; detect ~ ~ ~ minecraft:air -1 summon ArmorStand ~ ~ ~ {CustomName:lv_treeSide,Invisible:1b,Marker:1b,Small:1b,Rotation:[180.0f,30.0f]}
- execute @e[type=Villager,name=Lumberjack,score_lv_state==3] ~ ~ ~ execute @e[type=ArmorStand,name=lv_tree,c=1] ~ ~1 ~-$s treeOffset; detect ~ ~ ~ minecraft:air -1 summon ArmorStand ~ ~ ~ {CustomName:lv_treeSide,Invisible:1b,Marker:1b,Small:1b,Rotation:[0.0f,30.0f]}
- execute @e[type=Villager,name=Lumberjack,score_lv_state==3] ~ ~ ~ execute @e[type=ArmorStand,name=lv_tree,c=1] ~$s treeOffset; ~1 ~ detect ~ ~ ~ minecraft:tallgrass -1 summon ArmorStand ~ ~ ~ {CustomName:lv_treeSide,Invisible:1b,Marker:1b,Small:1b,Rotation:[90.0f,30.0f]}
- execute @e[type=Villager,name=Lumberjack,score_lv_state==3] ~ ~ ~ execute @e[type=ArmorStand,name=lv_tree,c=1] ~-$s treeOffset; ~1 ~ detect ~ ~ ~ minecraft:tallgrass -1 summon ArmorStand ~ ~ ~ {CustomName:lv_treeSide,Invisible:1b,Marker:1b,Small:1b,Rotation:[-90.0f,30.0f]}
- execute @e[type=Villager,name=Lumberjack,score_lv_state==3] ~ ~ ~ execute @e[type=ArmorStand,name=lv_tree,c=1] ~ ~1 ~$s treeOffset; detect ~ ~ ~ minecraft:tallgrass -1 summon ArmorStand ~ ~ ~ {CustomName:lv_treeSide,Invisible:1b,Marker:1b,Small:1b,Rotation:[180.0f,30.0f]}
- execute @e[type=Villager,name=Lumberjack,score_lv_state==3] ~ ~ ~ execute @e[type=ArmorStand,name=lv_tree,c=1] ~ ~1 ~-$s treeOffset; detect ~ ~ ~ minecraft:tallgrass -1 summon ArmorStand ~ ~ ~ {CustomName:lv_treeSide,Invisible:1b,Marker:1b,Small:1b,Rotation:[0.0f,30.0f]}
- execute @e[type=Villager,name=Lumberjack,score_lv_state==3] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,r=0,c=1] @e[type=ArmorStand,name=lv_treeSide,r=5,c=1]
- kill @e[type=ArmorStand,name=lv_treeSide]
- execute @e[type=Villager,name=Lumberjack,score_lv_state==3] ~ ~ ~ execute @e[type=ArmorStand,name=lv_tree,r=5,c=1] ~ ~ ~ summon ArmorStand ~ ~ ~ {CustomName:lv_logBreak,NoGravity:1b,Invisible:1b,Small:1b}
- scoreboard players set @e[type=Villager,name=Lumberjack,score_lv_state==3] lv_breakTime 11
- scoreboard players set @e[type=Villager,name=Lumberjack,score_lv_state==3] lv_state 4
- #TRIGONOMETRY
- $shortcut offsetX 0.4
- $shortcut offsetY 0.15
- $shortcut offsetZ 0
- :MULTI:
- iterations:8
- !r#:0;0,360
- execute @e[type=Villager,name=Lumberjack,score_lv_state_min=2,score_lv_state=4,rym=round(subtract(%r,22.5)),ry=round(add(%r,22.5))] ~ ~ ~ tp @e[type=ArmorStand,name=lv_axe,r=1,c=1] ~subtract(multiply($s offsetX;,cos(%r)),multiply($s offsetZ;,sin(%r))) ~$s offsetY; ~add(multiply($s offsetX;,sin(%r)),multiply($s offsetZ;,cos(%r)))
- #STATE 6
- scoreboard players add @e[type=Villager,name=Lumberjack,score_lv_state==6] lv_breakTime 1
- scoreboard players tag @e[type=Villager,name=Lumberjack,score_lv_state==6,score_lv_breakTime==2] add lv_updateTrades
- scoreboard players tag @e[type=Villager,name=Lumberjack,score_lv_state==6,score_lv_breakTime==1199] add lv_updateTrades
- scoreboard players set @e[type=Villager,name=Lumberjack,score_lv_state==6,score_lv_breakTime_min=1200] lv_state 0
- ::section despawning
- :R!: scoreboard players tag @e[type=ArmorStand,name=lv_axe] add lv_kill
- execute @e[type=Villager,name=Lumberjack,score_lv_state_min=2,score_lv_state=4] ~ ~ ~ scoreboard players tag @e[type=ArmorStand,name=lv_axe,r=5,c=1] remove lv_kill
- scoreboard players tag @e[type=Wolf,name=LumberjackAI] add lv_kill
- execute @e[type=Villager,name=Lumberjack,score_lv_state==2] ~ ~ ~ scoreboard players tag @e[type=Wolf,name=LumberjackAI,r=5,c=1] remove lv_kill
- scoreboard players tag @e[type=Rabbit,name=lv_lumberjackLure] add lv_kill
- execute @e[type=ArmorStand,name=lv_tree] ~ ~-1 ~ scoreboard players tag @e[type=Rabbit,name=lv_lumberjackLure,r=1,c=1] remove lv_kill
- execute @e[type=AreaEffectCloud,name=lv_dirt,tag=!lv_new] ~ ~ ~ kill @e[type=AreaEffectCloud,name=lv_dirt,tag=lv_new,dx=0]
- execute @e[type=AreaEffectCloud,name=lv_dirt,tag=lv_new] ~ ~ ~ detect ~ ~ ~ minecraft:grass -1 kill @e[type=AreaEffectCloud,name_lv_dirt,tag=lv_new,r=1,c=1]
- scoreboard players tag @e[type=AreaEffectCloud,name=lv_dirt] add lv_kill
- execute @e[type=AreaEffectCloud,name=lv_dirt] ~ ~ ~ detect ~ ~ ~ minecraft:dirt -1 scoreboard players tag @e[type=AreaEffectCloud,name=lv_dirt,r=1,c=1] remove lv_kill
- execute @e[type=AreaEffectCloud,name=lv_dirt] ~ ~ ~ detect ~ ~ ~ minecraft:grass -1 scoreboard players tag @e[type=AreaEffectCloud,name=lv_dirt,r=1,c=1] remove lv_kill
- scoreboard players tag @e[type=ArmorStand,name=lv_logBreak,tag=,score_lv_state==0] add lv_kill
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_kill] ~ ~ ~ detect ~ ~ ~ minecraft:log -1 scoreboard players tag @e[type=ArmorStand,name=lv_logBreak,tag=lv_kill,r=1,c=1] remove lv_kill
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_kill] ~ ~ ~ detect ~ ~ ~ minecraft:log2 -1 scoreboard players tag @e[type=ArmorStand,name=lv_logBreak,tag=lv_kill,r=1,c=1] remove lv_kill
- scoreboard players tag @e[type=ArmorStand,name=lv_tree] add lv_kill
- execute @e[type=ArmorStand,name=lv_tree,tag=lv_kill] ~ ~ ~ detect ~ ~ ~ minecraft:log -1 scoreboard players tag @e[type=ArmorStand,name=lv_tree,r=1,c=1] remove lv_kill
- execute @e[type=ArmorStand,name=lv_tree,tag=lv_kill] ~ ~ ~ detect ~ ~ ~ minecraft:log2 -1 scoreboard players tag @e[type=ArmorStand,name=lv_tree,r=1,c=1] remove lv_kill
- ::section tree_search
- :R!: testfor @e[type=ArmorStand,name=treeSearch]
- :R?: scoreboard players set @e[type=ArmorStand,name=treeSearch] lv_treeCriteria 0
- scoreboard players set @e[type=ArmorStand,name=treeSearch] lv_stats 0
- execute @e[type=ArmorStand,name=treeSearch] ~ ~ ~ detect ~ ~-1 ~ minecraft:leaves -1 scoreboard players set @e[type=ArmorStand,name=treeSearch,r=0,c=1] lv_treeCriteria 1
- execute @e[type=ArmorStand,name=treeSearch] ~ ~ ~ detect ~ ~-1 ~ minecraft:leaves2 -1 scoreboard players set @e[type=ArmorStand,name=treeSearch,r=0,c=1] lv_treeCriteria 1
- kill @e[type=ArmorStand,name=treeSearch,score_lv_treeCriteria=0]
- execute @e[type=ArmorStand,name=treeSearch] ~ ~ ~ stats entity @e[type=ArmorStand,name=treeSearch,r=0,c=1] set AffectedBlocks @e[type=ArmorStand,name=treeSearch,r=0,c=1] lv_stats
- execute @e[type=ArmorStand,name=treeSearch] ~ ~ ~ clone ~-4 ~-10 ~-4 ~4 ~ ~4 ~-4 ~-10 ~-4 filtered force minecraft:log
- execute @e[type=ArmorStand,name=treeSearch] ~ ~ ~ scoreboard players operation @e[type=ArmorStand,name=treeSearch,r=0,c=1] lv_totalStats += @e[type=ArmorStand,name=treeSearch,r=0,c=1] lv_stats
- execute @e[type=ArmorStand,name=treeSearch] ~ ~ ~ clone ~-4 ~-10 ~-4 ~4 ~ ~4 ~-4 ~-10 ~-4 filtered force minecraft:log2
- execute @e[type=ArmorStand,name=treeSearch] ~ ~ ~ scoreboard players operation @e[type=ArmorStand,name=treeSearch,r=0,c=1] lv_totalStats += @e[type=ArmorStand,name=treeSearch,r=0,c=1] lv_stats
- execute @e[type=ArmorStand,name=treeSearch] ~ ~ ~ clone ~-4 ~-10 ~-4 ~4 ~ ~4 ~-4 ~-10 ~-4 filtered force minecraft:log2 1
- execute @e[type=ArmorStand,name=treeSearch] ~ ~ ~ scoreboard players operation @e[type=ArmorStand,name=treeSearch,r=0,c=1] lv_totalStats -= @e[type=ArmorStand,name=treeSearch,r=0,c=1] lv_stats
- scoreboard players add @e[type=ArmorStand,name=treeSearch,score_lv_stats_min=1] lv_totalStats 1
- kill @e[type=ArmorStand,name=treeSearch,score_lv_totalStats=0]
- kill @e[type=ArmorStand,name=treeSearch,score_lv_totalStats_min=16]
- scoreboard players set @e[type=ArmorStand,name=treeSearch] lv_treeCriteria 2
- #MAKE SURE NO LOGS ARE SIDEWAYS TO AVOID LARGE TREES
- :MULTI:
- iterations:6
- !w';log 0,log 1,log 2,log 3,log2 0,log2 1
- execute @e[type=ArmorStand,name=treeSearch] ~ ~ ~ clone ~-4 ~-10 ~-4 ~4 ~ ~4 ~-4 ~-10 ~-4 filtered force minecraft:%w
- execute @e[type=ArmorStand,name=treeSearch] ~ ~ ~ scoreboard players operation @e[type=ArmorStand,name=treeSearch,r=0,c=1] lv_totalStats -= @e[type=ArmorStand,name=treeSearch,r=0,c=1] lv_stats
- kill @e[type=ArmorStand,name=treeSearch,score_lv_totalStats_min=1]
- execute @e[type=ArmorStand,name=treeSearch] ~ ~ ~ summon ArmorStand ~ ~-1 ~ {CustomName:treeScan,NoGravity:1b,Small:1b,Marker:0b,DisabledSlots:31}
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ stats entity @e[type=ArmorStand,name=treeScan,r=0,c=1] set AffectedBlocks @e[type=ArmorStand,name=treeScan,r=0,c=1] lv_stats
- scoreboard players add @e[type=ArmorStand,name=treeScan] lv_stats 0
- scoreboard players add @e[type=ArmorStand,name=treeScan] lv_totalStats 0
- kill @e[type=ArmorStand,name=treeSearch]
- ::section tree_centering
- :R!: testfor @e[type=ArmorStand,name=treeScan]
- :R?: execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ clone ~-4 ~-1 ~-4 ~4 ~-1 ~4 ~-4 ~-1 ~-4 filtered force minecraft:log
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ scoreboard players operation @e[type=ArmorStand,name=treeScan,r=0,c=1] lv_totalStats = @e[type=ArmorStand,name=treeScan,r=0,c=1] lv_stats
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ clone ~-4 ~-1 ~-4 ~4 ~-1 ~4 ~-4 ~-1 ~-4 filtered force minecraft:log2
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ scoreboard players operation @e[type=ArmorStand,name=treeScan,r=0,c=1] lv_totalStats += @e[type=ArmorStand,name=treeScan,r=0,c=1] lv_stats
- entitydata @e[type=ArmorStand,name=treeScan,score_lv_totalStats=0] {CustomName:lv_tree,Tags:["init"],Marker:1b}
- execute @e[type=ArmorStand,name=lv_tree,tag=init] ~ ~ ~ summon LeashKnot ~ ~ ~ {CustomName:lv_treeCenter}
- execute @e[type=ArmorStand,name=lv_tree,tag=init] ~ ~ ~ tp @e[type=ArmorStand,name=lv_tree,tag=init,r=1,c=1] @e[type=LeashKnot,name=lv_treeCenter,c=1]
- tp @e[type=ArmorStand,name=lv_tree,tag=init] ~ ~-.5 ~
- kill @e[type=LeashKnot,name=lv_treeCenter]
- scoreboard players tag @e[type=ArmorStand,name=lv_tree,tag=init] remove init
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ summon ArmorStand ~-3 ~ ~-3 {CustomName:lv_logSearch,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ summon ArmorStand ~ ~ ~-3 {CustomName:lv_logSearch,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ summon ArmorStand ~3 ~ ~-3 {CustomName:lv_logSearch,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ summon ArmorStand ~-3 ~ ~ {CustomName:lv_logSearch,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ summon ArmorStand ~ ~ ~ {CustomName:lv_logSearch,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ summon ArmorStand ~3 ~ ~ {CustomName:lv_logSearch,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ summon ArmorStand ~-3 ~ ~3 {CustomName:lv_logSearch,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ summon ArmorStand ~ ~ ~3 {CustomName:lv_logSearch,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ summon ArmorStand ~3 ~ ~3 {CustomName:lv_logSearch,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- #X = -1
- $shortcut x -1
- :MULTI:
- iterations:9
- !o#:2;-1,1
- execute @e[type=ArmorStand,name=lv_logSearch] ~$s x; ~-1 ~%o detect ~ ~ ~ minecraft:log -1 summon ArmorStand ~ ~ ~ {CustomName:lv_log,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logSearch] ~$s x; ~-1 ~%o detect ~ ~ ~ minecraft:log2 -1 summon ArmorStand ~ ~ ~ {CustomName:lv_log,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- #X = 0
- $shortcut x 0
- :MULTI:
- iterations:9
- !o#:2;-1,1
- execute @e[type=ArmorStand,name=lv_logSearch] ~$s x; ~-1 ~%o detect ~ ~ ~ minecraft:log -1 summon ArmorStand ~ ~ ~ {CustomName:lv_log,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logSearch] ~$s x; ~-1 ~%o detect ~ ~ ~ minecraft:log2 -1 summon ArmorStand ~ ~ ~ {CustomName:lv_log,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- #X = 1
- $shortcut x 1
- :MULTI:
- iterations:9
- !o#:2;-1,1
- execute @e[type=ArmorStand,name=lv_logSearch] ~$s x; ~-1 ~%o detect ~ ~ ~ minecraft:log -1 summon ArmorStand ~ ~ ~ {CustomName:lv_log,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logSearch] ~$s x; ~-1 ~%o detect ~ ~ ~ minecraft:log2 -1 summon ArmorStand ~ ~ ~ {CustomName:lv_log,NoGravity:1b,Marker:0b,Invisible:1b,Small:1b}
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ tp @e[type=ArmorStand,name=treeScan,r=0,c=1] @e[type=ArmorStand,name=lv_log,r=6,c=1]
- kill @e[type=ArmorStand,name=lv_logSearch]
- kill @e[type=ArmorStand,name=lv_log]
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ detect ~ ~-1 ~ minecraft:log -1 tp @e[type=ArmorStand,name=treeScan,r=0,c=1] ~ ~-1 ~
- execute @e[type=ArmorStand,name=treeScan] ~ ~ ~ detect ~ ~-1 ~ minecraft:log2 -1 tp @e[type=ArmorStand,name=treeScan,r=0,c=1] ~ ~-1 ~
- ::section search
- :R!: testfor @e[type=Villager,name=Lumberjack,tag=lv_searchTrees]
- :R?: execute @e[type=ArmorStand,name=lv_tree] ~ ~ ~ scoreboard players set @e[type=Villager,tag=lv_searchTrees,score_lv_state==0,r=80] lv_state 1
- :MULTI:
- iterations:16
- !v';a
- execute @e[type=Villager,name=Lumberjack,tag=lv_searchTrees,score_lv_state==0] ~ ~ ~ summon ArmorStand ~ ~ ~ {CustomName:treeSearch,NoGravity:1b,Small:1b,Invisible:1b,DisabledSlots:31}
- execute @e[type=Villager,name=Lumberjack,tag=lv_searchTrees,score_lv_state==0] ~ ~ ~ spreadplayers ~ ~ 4 64 false @e[type=ArmorStand,name=treeSearch,r=1,c=16]
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_searchTrees] remove lv_searchTrees
- ::section log_stare
- :R!: testfor @e[type=ArmorStand,name=lv_logBreak]
- :R?: execute @e[type=Villager,name=Lumberjack,score_lv_state==4] ~ ~ ~ summon AreaEffectCloud ~ ~1 ~ {CustomName:lv_villagerEyeLv,Duration:1,Radius:0,Particle:take,NoGravity:1b}
- execute @e[type=ArmorStand,name=lv_logBreak] ~-2 ~-5 ~-2 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=1,dy=5,dz=1] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,rym=-44,ry=-46,r=1,c=1] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~ ~ -45 ~
- execute @e[type=ArmorStand,name=lv_logBreak] ~1 ~-5 ~-2 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=1,dy=5,dz=1] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,rym=46,ry=44,r=1,c=1] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~ ~ 45 ~
- execute @e[type=ArmorStand,name=lv_logBreak] ~-2 ~-5 ~1 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=1,dy=5,dz=1] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,rym=-134,ry=-136,r=1,c=1] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~ ~ -135 ~
- execute @e[type=ArmorStand,name=lv_logBreak] ~1 ~-5 ~1 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=1,dy=5,dz=1] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,rym=136,ry=134,r=1,c=1] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~ ~ 135 ~
- execute @e[type=ArmorStand,name=lv_logBreak] ~-2 ~-5 ~ execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=1,dy=5,dz=0] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,rym=-89,ry=-91,r=1,c=1] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~ ~ -90 ~
- execute @e[type=ArmorStand,name=lv_logBreak] ~1 ~-5 ~ execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=1,dy=5,dz=0] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,rym=91,ry=89,r=1,c=1] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~ ~ 90 ~
- execute @e[type=ArmorStand,name=lv_logBreak] ~ ~-5 ~-2 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=0,dy=5,dz=1] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,rym=1,ry=-1,r=1,c=1] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~ ~ 0 ~
- execute @e[type=ArmorStand,name=lv_logBreak] ~ ~-5 ~1 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=0,dy=5,dz=1] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,rym=181,ry=179,r=1,c=1] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~ ~ 180 ~
- execute @e[type=ArmorStand,name=lv_logBreak] ~-4 ~-3 ~-4 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=8,dy=0,dz=8] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,r=1,c=1,rxm=-74,rx=90] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~.05 ~ ~ -75
- execute @e[type=ArmorStand,name=lv_logBreak] ~-4 ~-3 ~-4 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=8,dy=0,dz=8] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,r=1,c=1,rx=-76,rxm=-90] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~.05 ~ ~ -75
- execute @e[type=ArmorStand,name=lv_logBreak] ~-4 ~-2 ~-4 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=8,dy=0,dz=8] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,r=1,c=1,rxm=-59,rx=90] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~.05 ~ ~ -60
- execute @e[type=ArmorStand,name=lv_logBreak] ~-4 ~-2 ~-4 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=8,dy=0,dz=8] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,r=1,c=1,rx=-61,rxm=-90] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~.05 ~ ~ -60
- execute @e[type=ArmorStand,name=lv_logBreak] ~-4 ~-1 ~-4 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=8,dy=0,dz=8] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,r=1,c=1,rxm=-29,rx=90] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~.05 ~ ~ -30
- execute @e[type=ArmorStand,name=lv_logBreak] ~-4 ~-1 ~-4 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=8,dy=0,dz=8] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,r=1,c=1,rx=-31,rxm=-90] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~.05 ~ ~ -30
- execute @e[type=ArmorStand,name=lv_logBreak] ~-4 ~0 ~-4 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=8,dy=0,dz=8] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,r=1,c=1,rxm=1,rx=90] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~.05 ~ ~ 0
- execute @e[type=ArmorStand,name=lv_logBreak] ~-4 ~0 ~-4 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=8,dy=0,dz=8] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,r=1,c=1,rx=-1,rxm=-90] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~.05 ~ ~ 0
- execute @e[type=ArmorStand,name=lv_logBreak] ~-4 ~1 ~-4 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=8,dy=0,dz=8] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,r=1,c=1,rxm=31,rx=90] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~.05 ~ ~ 30
- execute @e[type=ArmorStand,name=lv_logBreak] ~-4 ~1 ~-4 execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=8,dy=0,dz=8] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,r=1,c=1,rx=29,rxm=-90] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~.05 ~ ~ 30
- execute @e[type=ArmorStand,name=lv_logBreak] ~ ~-2 ~ execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=0,dy=2,dz=0] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,r=1,c=1,rxm=-89,rx=90] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~.05 ~ ~ -90
- execute @e[type=ArmorStand,name=lv_logBreak] ~ ~ ~ execute @e[type=AreaEffectCloud,name=lv_villagerEyeLv,dx=0,dy=2,dz=0] ~ ~-1 ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,r=1,c=1,rx=89,rxm=-90] ~ ~ ~ tp @e[type=Villager,name=Lumberjack,tag=!lv_jump,r=0,c=1] ~ ~.05 ~ ~ 90
- ::section log_breaking
- :R!: testfor @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime_min=1]
- :R?: execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime==1] ~ ~ ~ scoreboard players tag @e[type=ArmorStand,name=lv_logBreak,r=5,c=1] add lv_break
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime==1] ~ ~ ~ execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break,r=5,c=1] ~ ~ ~ setblock ~ ~ ~ minecraft:air 0 destroy
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime==1,score_lv_saplings_min=1] ~ ~ ~ execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break,r=5,c=1] ~ ~ ~ execute @e[type=ArmorStand,name=lv_tree,r=1] ~ ~ ~ playsound minecraft:block.grass.place master @a ~ ~ ~ 1 0.8 0
- :MULTI:
- iterations:6
- !d#:2;0,5
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime==1,score_lv_saplings_min=1,score_lv_treeType==%d] ~ ~ ~ execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break,r=5,c=1] ~ ~ ~ execute @e[type=ArmorStand,name=lv_tree,r=1] ~ ~ ~ setblock ~ ~ ~ minecraft:sapling %d
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime==1] ~ ~ ~ execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break,r=5,c=1] ~ ~ ~ tp @e[type=Item,r=3,c=1] @e[type=Villager,name=Lumberjack,score_lv_state==4,r=6,c=1]
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime_min=0] ~ ~ ~ scoreboard players operation @e[type=Villager,name=Lumberjack,r=0,c=1] lv_math = @e[type=Villager,name=Lumberjack,r=0,c=1] lv_breakTime
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime_min=0] ~ ~ ~ scoreboard players operation @e[type=Villager,name=Lumberjack,r=0,c=1] lv_math %= Three lv_math
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime_min=1,score_lv_math==0] ~ ~ ~ entitydata @e[type=ArmorStand,name=lv_axe,r=2,c=1] {Pose:{RightArm:[-30.0f,0.0f,0.0f]}}
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime_min=1,score_lv_math_min=1,score_lv_math=2] ~ ~ ~ entitydata @e[type=ArmorStand,name=lv_axe,r=2,c=1] {Pose:{RightArm:[-40.0f,0.0f,0.0f]}}
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime_min=2,score_lv_math==1] ~ ~ ~ playsound minecraft:block.wood.hit block @a ~ ~ ~ 0.5 0.6 0
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime_min=2] ~ ~ ~ execute @e[type=ArmorStand,name=lv_logBreak,r=5,c=1] ~ ~ ~ detect ~ ~ ~ minecraft:log 0 particle blockdust ~ ~ ~ 0.5 0.5 0.5 0.05 1 normal @a 17 0
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime_min=2] ~ ~ ~ execute @e[type=ArmorStand,name=lv_logBreak,r=5,c=1] ~ ~ ~ detect ~ ~ ~ minecraft:log 1 particle blockdust ~ ~ ~ 0.5 0.5 0.5 0.05 1 normal @a 17 1
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime_min=2] ~ ~ ~ execute @e[type=ArmorStand,name=lv_logBreak,r=5,c=1] ~ ~ ~ detect ~ ~ ~ minecraft:log 2 particle blockdust ~ ~ ~ 0.5 0.5 0.5 0.05 1 normal @a 17 2
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime_min=2] ~ ~ ~ execute @e[type=ArmorStand,name=lv_logBreak,r=5,c=1] ~ ~ ~ detect ~ ~ ~ minecraft:log 3 particle blockdust ~ ~ ~ 0.5 0.5 0.5 0.05 1 normal @a 17 3
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime_min=2] ~ ~ ~ execute @e[type=ArmorStand,name=lv_logBreak,r=5,c=1] ~ ~ ~ detect ~ ~ ~ minecraft:log2 0 particle blockdust ~ ~ ~ 0.5 0.5 0.5 0.05 1 normal @a 162
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime_min=2] ~ ~ ~ execute @e[type=ArmorStand,name=lv_logBreak,r=5,c=1] ~ ~ ~ detect ~ ~ ~ minecraft:log2 1 particle blockdust ~ ~ ~ 0.5 0.5 0.5 0.05 1 normal @a 162 1
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_OnGround] remove lv_OnGround
- scoreboard players tag @e[type=Villager,name=Lumberjack] add lv_OnGround {OnGround:1b}
- tp @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime==$s breakTime;,tag=lv_OnGround] ~ ~.05 ~
- scoreboard players remove @e[type=Villager,name=Lumberjack,score_lv_state==4,score_lv_breakTime_min=1] lv_breakTime 1
- ::section log_break
- :R!: testfor @e[type=ArmorStand,name=lv_logBreak,tag=lv_break]
- :R?: execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break] ~-3 ~ ~-3 summon ArmorStand ~ ~-1 ~ {CustomName:lv_logBreakSearch,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break] ~-3 ~ ~3 summon ArmorStand ~ ~-1 ~ {CustomName:lv_logBreakSearch,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break] ~3 ~ ~-3 summon ArmorStand ~ ~-1 ~ {CustomName:lv_logBreakSearch,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break] ~3 ~ ~3 summon ArmorStand ~ ~-1 ~ {CustomName:lv_logBreakSearch,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break] ~-3 ~ ~ summon ArmorStand ~ ~-1 ~ {CustomName:lv_logBreakSearch,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break] ~3 ~ ~ summon ArmorStand ~ ~-1 ~ {CustomName:lv_logBreakSearch,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break] ~ ~ ~-3 summon ArmorStand ~ ~-1 ~ {CustomName:lv_logBreakSearch,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break] ~ ~ ~3 summon ArmorStand ~ ~-1 ~ {CustomName:lv_logBreakSearch,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break] ~ ~ ~ summon ArmorStand ~ ~-1 ~ {CustomName:lv_logBreakSearch,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- :MULTI:
- iterations:3
- !z';-1,0,1
- execute @e[type=ArmorStand,name=lv_logBreakSearch] ~-1 ~ ~%z detect ~ ~ ~ minecraft:log -1 summon ArmorStand ~ ~ ~ {CustomName:lv_nextLog,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logBreakSearch] ~-1 ~ ~%z detect ~ ~ ~ minecraft:log2 -1 summon ArmorStand ~ ~ ~ {CustomName:lv_nextLog,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logBreakSearch] ~ ~ ~%z detect ~ ~ ~ minecraft:log -1 summon ArmorStand ~ ~ ~ {CustomName:lv_nextLog,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logBreakSearch] ~ ~ ~%z detect ~ ~ ~ minecraft:log2 -1 summon ArmorStand ~ ~ ~ {CustomName:lv_nextLog,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logBreakSearch] ~1 ~ ~%z detect ~ ~ ~ minecraft:log -1 summon ArmorStand ~ ~ ~ {CustomName:lv_nextLog,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_logBreakSearch] ~1 ~ ~%z detect ~ ~ ~ minecraft:log2 -1 summon ArmorStand ~ ~ ~ {CustomName:lv_nextLog,NoGravity:1b,Invisible:1b,Marker:1b,Small:1b}
- execute @e[type=ArmorStand,name=lv_nextLog] ~ ~ ~ scoreboard players tag @e[type=ArmorStand,name=lv_logBreak,tag=lv_break,r=8,c=1] add lv_advance
- scoreboard players set @e[type=ArmorStand,name=lv_logBreak,tag=lv_advance] lv_state 0
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break] ~ ~ ~ tp @e[type=ArmorStand,name=lv_logBreak,tag=!lv_advance,r=1,c=1] ~ ~1 ~
- execute @e[type=ArmorStand,name=lv_logBreak,tag=!lv_advance,score_lv_state_min=2] ~ ~ ~ scoreboard players set @e[type=Villager,name=Lumberjack,score_lv_state==4,r=10,c=1] lv_state 5
- execute @e[type=ArmorStand,name=lv_logBreak,tag=!lv_advance,score_lv_state_min=2] ~ ~ ~ scoreboard players set @e[type=Villager,name=Lumberjack,score_lv_state==5,r=10,c=1] lv_breakTime 16
- kill @e[type=ArmorStand,name=lv_logBreak,tag=!lv_advance,score_lv_state_min=2]
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_break] ~ ~ ~ scoreboard players add @e[type=ArmorStand,name=lv_logBreak,tag=!lv_advance,r=1,c=1] lv_state 1
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_advance] ~ ~ ~ tp @e[type=ArmorStand,name=lv_logBreak,r=1,c=1] @e[type=ArmorStand,name=lv_nextLog,r=8,c=1]
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_advance] ~ ~ ~ scoreboard players set @e[type=Villager,name=Lumberjack,score_lv_state==4,r=5] lv_breakTime $s breakTime;
- execute @e[type=ArmorStand,name=lv_logBreak,tag=lv_advance] ~ ~ ~ scoreboard players tag @e[type=Villager,name=Lumberjack,score_lv_state==4,r=10,score_lv_breakTime=1] add lv_jump
- kill @e[type=ArmorStand,name=lv_logBreakSearch]
- kill @e[type=ArmorStand,name=lv_nextLog]
- scoreboard players tag @e[type=ArmorStand,name=lv_logBreak,tag=lv_advance] remove lv_break
- scoreboard players tag @e[type=ArmorStand,name=lv_logBreak,tag=lv_advance] remove lv_advance
- ::section jumping
- :R!: testfor @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump]
- :R?: tp @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump,rxm=-90,rx=89] ~ ~ ~ ~ 90
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump] ~ ~ ~ entitydata @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_OnGround,r=1,c=1] {Motion:[0.0,0.5,0.0]}
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump] ~ ~ ~ execute detect ~ ~2 ~ minecraft:leaves -1 setblock ~ ~2 ~ minecraft:air 0 destroy
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump] ~ ~ ~ detect ~ ~2 ~ minecraft:leaves2 -1 setblock ~ ~2 ~ minecraft:air 0 destroy
- :MULTI:
- iterations:2
- !l';leaves,leaves2
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump] ~-.5 ~1 ~-.5 detect ~ ~1 ~ minecraft:%l -1 execute @e[type=Villager,name=Lumberjack,score_lv_state==4,dx=0] ~-.5 ~ ~-.5 setblock ~ ~2 ~ minecraft:air 0 destroy
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump] ~-.5 ~1 ~.5 detect ~ ~1 ~ minecraft:%l -1 execute @e[type=Villager,name=Lumberjack,score_lv_state==4,dx=0] ~-.5 ~ ~.5 setblock ~ ~2 ~ minecraft:air 0 destroy
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump] ~.5 ~1 ~-.5 detect ~ ~1 ~ minecraft:%l -1 execute @e[type=Villager,name=Lumberjack,score_lv_state==4,dx=0] ~.5 ~ ~-.5 setblock ~ ~2 ~ minecraft:air 0 destroy
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump] ~.5 ~1 ~.5 detect ~ ~1 ~ minecraft:%l -1 execute @e[type=Villager,name=Lumberjack,score_lv_state==4,dx=0] ~.5 ~ ~.5 setblock ~ ~2 ~ minecraft:air 0 destroy
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump] ~-.5 ~1 ~ detect ~ ~1 ~ minecraft:%l -1 execute @e[type=Villager,name=Lumberjack,score_lv_state==4,dx=0] ~-.5 ~ ~ setblock ~ ~2 ~ minecraft:air 0 destroy
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump] ~.5 ~1 ~ detect ~ ~1 ~ minecraft:%l -1 execute @e[type=Villager,name=Lumberjack,score_lv_state==4,dx=0] ~.5 ~ ~ setblock ~ ~2 ~ minecraft:air 0 destroy
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump] ~ ~1 ~-.5 detect ~ ~1 ~ minecraft:%l -1 execute @e[type=Villager,name=Lumberjack,score_lv_state==4,dx=0] ~ ~ ~-.5 setblock ~ ~2 ~ minecraft:air 0 destroy
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump] ~ ~1 ~.5 detect ~ ~1 ~ minecraft:%l -1 execute @e[type=Villager,name=Lumberjack,score_lv_state==4,dx=0] ~ ~ ~.5 setblock ~ ~2 ~ minecraft:air 0 destroy
- scoreboard players tag @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump] add lv_place
- scoreboard players tag @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_jump] remove lv_place {FallDistance:0.0f}
- scoreboard players tag @e[type=AreaEffectCloud,name=lv_dirt,tag=lv_new] remove lv_new
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_place] ~ ~ ~ summon LeashKnot ~ ~-1.5 ~ {CustomName:lv_dirtPlace}
- execute @e[type=LeashKnot,name=lv_dirtPlace] ~ ~ ~ detect ~ ~ ~ minecraft:grass -1 kill @e[type=LeashKnot,name=lv_dirtPlace,c=1]
- execute @e[type=LeashKnot,name=lv_dirtPlace] ~ ~ ~ detect ~ ~ ~ minecraft:dirt -1 kill @e[type=LeashKnot,name=lv_dirtPlace,c=1]
- execute @e[type=LeashKnot,name=lv_dirtPlace] ~ ~ ~ summon AreaEffectCloud ~ ~ ~ {CustomName:lv_dirt,Duration:100000000,Radius:0,RadiusPerTick:0,RadiusOnUse:0,Particle:take,Tags:[lv_new]}
- kill @e[type=LeashKnot,name=lv_dirtPlace]
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_place] ~ ~ ~ execute @e[type=AreaEffectCloud,name=lv_dirt,tag=lv_new] ~ ~ ~ setblock ~ ~ ~ minecraft:dirt
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_place] ~ ~ ~ playsound minecraft:block.gravel.place master @p ~ ~ ~ 1.0 0.75 0.0
- scoreboard players tag @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_place] add lv_checkDistance
- scoreboard players tag @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_place] remove lv_jump
- scoreboard players tag @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_place] remove lv_place
- ::section jump_loop
- :R!: testfor @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_checkDistance]
- :R?: scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_OnGround] remove lv_OnGround
- scoreboard players tag @e[type=Villager,name=Lumberjack] add lv_OnGround {OnGround:1b}
- execute @e[type=ArmorStand,name=lv_logBreak] ~ ~ ~ execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_checkDistance,r=5] ~ ~ ~ scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_OnGround,r=0,c=1] add lv_validDistance
- execute @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_checkDistance] ~ ~ ~ execute @e[type=Villager,name=Lumberjack,tag=lv_OnGround,r=0,c=1] ~ ~ ~ scoreboard players tag @e[type=Villager,name=Lumberjack,tag=!lv_validDistance,r=0,c=1] add lv_jump
- scoreboard players set @e[type=Villager,name=Lumberjack,score_lv_state==4,tag=lv_validDistance] lv_breakTime $s breakTime;
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_validDistance] remove lv_checkDistance
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_validDistance] remove lv_validDistance
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_jump] remove lv_checkDistance
- ::section dirt_takedown
- :R!: testfor @e[type=Villager,name=Lumberjack,score_lv_state==5]
- :R?: execute @e[type=AreaEffectCloud,name=lv_dirt] ~ ~1 ~ tp @e[type=Villager,name=Lumberjack,score_lv_state==5,dx=0,rxm=-90,rx=89] ~ ~ ~ ~ 90
- execute @e[type=AreaEffectCloud,name=lv_dirt] ~ ~1 ~ scoreboard players set @e[type=Villager,name=Lumberjack,score_lv_state==5,dx=0,score_lv_breakTime=0] lv_breakTime 16
- execute @e[type=Villager,name=Lumberjack,score_lv_state==5,score_lv_breakTime_min=2,tag=lv_OnGround] ~ ~ ~ execute @e[type=AreaEffectCloud,name=lv_dirt,r=5,c=1] ~ ~ ~ particle blockdust ~ ~ ~ 0.5 0.5 0.5 0.05 1 normal @a 3
- execute @e[type=Villager,name=Lumberjack,score_lv_state==5,score_lv_breakTime_min=2,tag=lv_OnGround] ~ ~ ~ playsound minecraft:block.gravel.hit master @a ~ ~ ~ 0.125 0.5 0
- execute @e[type=Villager,name=Lumberjack,score_lv_state==5,score_lv_breakTime==1] ~ ~ ~ execute @e[type=AreaEffectCloud,name=lv_dirt,r=8,c=1] ~ ~ ~ setblock ~ ~ ~ minecraft:air 0 destroy
- execute @e[type=Villager,name=Lumberjack,score_lv_state==5,score_lv_breakTime==1] ~ ~ ~ execute @e[type=AreaEffectCloud,name=lv_dirt,r=8,c=1] ~ ~ ~ kill @e[type=Item,dx=0,c=1]
- execute @e[type=Villager,name=Lumberjack,score_lv_state==5,score_lv_breakTime==1] ~ ~ ~ kill @e[type=AreaEffectCloud,name=lv_dirt,r=5,c=1]
- scoreboard players set @e[type=Villager,name=Lumberjack,score_lv_state==5,score_lv_breakTime==0] lv_state 6
- scoreboard players remove @e[type=Villager,name=Lumberjack,score_lv_state==5,score_lv_breakTime_min=1,tag=lv_OnGround] lv_breakTime 1
- ::section pickup
- :R!: testfor @e[type=Villager,name=Lumberjack,score_lv_state_min=4]
- :R?: execute @e[type=Villager,name=Lumberjack,score_lv_state_min=4] ~ ~ ~ scoreboard players set @e[type=Item,r=2] lv_treeType 0 {PickupDelay:0s,Item:{id:minecraft:log,Damage:0s}}
- execute @e[type=Villager,name=Lumberjack,score_lv_state_min=4] ~ ~ ~ scoreboard players set @e[type=Item,r=2] lv_treeType 1 {PickupDelay:0s,Item:{id:minecraft:log,Damage:1s}}
- execute @e[type=Villager,name=Lumberjack,score_lv_state_min=4] ~ ~ ~ scoreboard players set @e[type=Item,r=2] lv_treeType 2 {PickupDelay:0s,Item:{id:minecraft:log,Damage:2s}}
- execute @e[type=Villager,name=Lumberjack,score_lv_state_min=4] ~ ~ ~ scoreboard players set @e[type=Item,r=2] lv_treeType 3 {PickupDelay:0s,Item:{id:minecraft:log,Damage:3s}}
- execute @e[type=Villager,name=Lumberjack,score_lv_state_min=4] ~ ~ ~ scoreboard players set @e[type=Item,r=2] lv_treeType 4 {PickupDelay:0s,Item:{id:minecraft:log2,Damage:0s}}
- execute @e[type=Villager,name=Lumberjack,score_lv_state_min=4] ~ ~ ~ scoreboard players set @e[type=Item,r=2] lv_treeType 5 {PickupDelay:0s,Item:{id:minecraft:log2,Damage:1s}}
- :MULTI:
- iterations:6
- !v#:2;0,5
- execute @e[type=Villager,name=Lumberjack,score_lv_state_min=4] ~ ~ ~ scoreboard players set @e[type=Item,r=4] lv_treeType add(%v,6) {PickupDelay:0s,Item:{id:minecraft:sapling,Damage:%vs}}
- execute @e[type=Item,score_lv_treeType_min=0] ~ ~ ~ scoreboard players operation @e[type=Villager,name=Lumberjack,r=2,c=1] lv_treeType = @e[type=Item,r=0,c=1] lv_treeType
- scoreboard players remove @e[type=Villager,name=Lumberjack,score_lv_treeType_min=6] lv_treeType 6
- execute @e[type=Item,score_lv_treeType_min=0,score_lv_treeType=5] ~ ~ ~ scoreboard players add @e[type=Villager,name=Lumberjack,r=2,c=1] lv_logs 1
- execute @e[type=Item,score_lv_treeType_min=0,score_lv_treeType=5,rym=0,ry=30] ~ ~ ~ scoreboard players add @e[type=Villager,name=Lumberjack,r=2,c=1] lv_saplings 1
- execute @e[type=Item,score_lv_treeType_min=6,score_lv_treeType=11] ~ ~ ~ scoreboard players add @e[type=Villager,name=Lumberjack,r=2,c=1] lv_saplings 1
- execute @e[type=Item,score_lv_treeType_min=0] ~ ~ ~ playsound minecraft:entity.item.pickup master @a ~ ~ ~ 0.25 2 0
- execute @e[type=Item,score_lv_treeType_min=0] ~ ~ ~ scoreboard players tag @e[type=Villager,name=Lumberjack,r=2,c=1] add lv_updateTrades
- kill @e[type=Item,score_lv_treeType_min=0]
- ::section updateTrades
- :R!: execute @a ~ ~ ~ testfor @e[type=Villager,name=Lumberjack,tag=lv_updateTrades,r=10]
- :R?:
- :MULTI:
- iterations:6
- !t';0,1,2,3,4,5
- !i';log,log,log,log,log2,log2
- !d';0,1,2,3,0,1
- entitydata @e[type=Villager,name=Lumberjack,tag=lv_updateTrades,score_lv_treeType==%t,score_lv_logs_min=12,score_lv_saplings_min=9] {Offers:{Recipes:[{maxUses:1,buy:{id:minecraft:emerald,Count:1},sell:{id:minecraft:%i,Count:12,Damage:%ds}},{maxUses:1,buy:{id:minecraft:emerald,Count:1},sell:{id:minecraft:sapling,Count:9b,Damage:%ts}}]}}
- entitydata @e[type=Villager,name=Lumberjack,tag=lv_updateTrades,score_lv_treeType==%t,score_lv_logs_min=12,score_lv_saplings=8] {Offers:{Recipes:[{maxUses:1,buy:{id:minecraft:emerald,Count:1},sell:{id:minecraft:%i,Count:12,Damage:%ds}},{maxUses:0,buy:{id:minecraft:emerald,Count:1},sell:{id:minecraft:sapling,Count:9b,Damage:%ts}}]}}
- entitydata @e[type=Villager,name=Lumberjack,tag=lv_updateTrades,score_lv_treeType==%t,score_lv_logs=11,score_lv_saplings_min=9] {Offers:{Recipes:[{maxUses:0,buy:{id:minecraft:emerald,Count:1},sell:{id:minecraft:%i,Count:12,Damage:%ds}},{maxUses:1,buy:{id:minecraft:emerald,Count:1},sell:{id:minecraft:sapling,Count:9b,Damage:%ts}}]}}
- entitydata @e[type=Villager,name=Lumberjack,tag=lv_updateTrades,score_lv_treeType==%t,score_lv_logs=11,score_lv_saplings=8] {Offers:{Recipes:[{maxUses:0,buy:{id:minecraft:emerald,Count:1},sell:{id:minecraft:%i,Count:12,Damage:%ds}},{maxUses:0,buy:{id:minecraft:emerald,Count:1},sell:{id:minecraft:sapling,Count:9b,Damage:%ts}}]}}
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_updateTrades] remove lv_updateTrades
- ::section sync_scores
- :R!: scoreboard players tag @e[type=Villager,name=Lumberjack,tag=!lv_updateTrades] add lv_buyLogs {Offers:{Recipes:[{sell:{Count:12b},uses:1}]}}
- scoreboard players remove @e[type=Villager,name=Lumberjack,tag=lv_buyLogs] lv_logs 12
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_buyLogs] add lv_updateTrades
- execute @e[type=villager,name=Lumberjack,tag=lv_buyLogs] ~ ~ ~ title @p actionbar {"text":"Come back again soon!","color":"gray","italic":true}
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_buyLogs] remove lv_buyLogs
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=!lv_updateTrades] add lv_buySaplings {Offers:{Recipes:[{sell:{Count:9b},uses:1}]}}
- scoreboard players remove @e[type=Villager,name=Lumberjack,tag=lv_buySaplings] lv_saplings 9
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_buySaplings] add lv_updateTrades
- execute @e[type=villager,name=Lumberjack,tag=lv_buySaplings] ~ ~ ~ title @p actionbar {"text":"It was a pleasure doing business with you.","color":"gray","italic":true}
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_buySaplings] remove lv_buySaplings
- scoreboard players tag @e[type=Villager,name=Lumberjack] add lv_forceUpdate {ActiveEffects:[{Id:10b}]}
- say @e[tag=lv_forcedUpdate]
- effect @e[type=Villager,name=Lumberjack,tag=lv_forceUpdate] minecraft:regeneration 0
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_forceUpdate] add lv_updateTrades
- scoreboard players tag @e[type=Villager,name=Lumberjack,tag=lv_forceUpdate] remove lv_forceUpdate
- ::section loop
- # Period between attempts to locate trees:
- $shortcut period 5
- # (in minutes)
- :R!: scoreboard players add lv_timer lv_state 1
- scoreboard players test lv_timer lv_state multiply($s period;,1200)
- :R?: scoreboard players set lv_timer lv_state 0
- scoreboard players tag @r[type=Villager,name=Lumberjack,score_lv_state==0] add lv_searchTrees
- scoreboard players set @e[type=Villager,name=Lumberjack,score_lv_state==2] lv_state 5
- kill @e[type=ArmorStand,name=lv_logBreak]
- ::section uninstall
- :I: setblock ~ ~ ~ carpet
- :I!: tellraw @a ["\n\n",{"text":" Lumberjack Villagers ","color":"red","bold":true},{"text":"by Energyxxer","color":"red","italic":true},{"text":"\n have been successfully uninstalled.","color":"dark_red","italic":true},"\n\n"]
- scoreboard objectives remove lv_state dummy
- scoreboard objectives remove lv_treeCriteria dummy
- scoreboard objectives remove lv_stats dummy
- scoreboard objectives remove lv_stats2 dummy
- scoreboard objectives remove lv_totalStats dummy
- scoreboard objectives remove lv_breakTime dummy
- scoreboard objectives remove lv_logs dummy
- scoreboard objectives remove lv_saplings dummy
- scoreboard objectives remove lv_treeType dummy
- scoreboard objectives remove lv_math dummy
- scoreboard teams remove lv_AI
- fill ~-28 ~-4 ~-2 ~2 ~6 ~2 minecraft:air
- :I: setblock ~ ~ ~ air
- :I: setblock ~ ~ ~ carpet
- :I: setblock ~ ~ ~ carpet
- :I: blockdata ~ ~ ~ {auto:0b}
- fill ~-26 ~-3 ~-2 ~1 ~-3 ~ minecraft:stained_hardened_clay 14 replace minecraft:redstone_block
- fill ~-26 ~-4 ~-2 ~1 ~-4 ~ minecraft:redstone_block 0 replace minecraft:wool
- fill ~-26 ~-5 ~-2 ~1 ~-5 ~ minecraft:wool 14 replace minecraft:stained_hardened_clay
- :?: tellraw @a [{"text":" Lumberjack Villagers have been ","color":"gold"},{"text":"DISABLED","color":"red","bold":true}]
- blockdata ~ ~-1 ~ {SuccessCount:1}
- #AFTER SETBLOCK: :?: tellraw @a [{"text":" Enhanced Hoes have been ","color":"gold"},{"text":"DISABLED","color":"red","bold":true}]
- ::section install
- :I!: tellraw @a ["\n\n",{"text":" Lumberjack Villagers ","color":"aqua","bold":true},{"text":"by Energyxxer","color":"aqua","italic":true},{"text":"\n have been successfully installed.","color":"dark_aqua","italic":true},"\n\n"]
- scoreboard objectives add lv_state dummy
- scoreboard objectives add lv_treeCriteria dummy
- scoreboard objectives add lv_stats dummy
- scoreboard objectives add lv_stats2 dummy
- scoreboard objectives add lv_totalStats dummy
- scoreboard objectives add lv_breakTime dummy
- scoreboard objectives add lv_logs dummy
- scoreboard objectives add lv_saplings dummy
- scoreboard objectives add lv_treeType dummy
- scoreboard objectives add lv_math dummy
- scoreboard players set Three lv_math 3
- scoreboard teams add lv_AI
- scoreboard teams option lv_AI friendlyfire false
- scoreboard teams option lv_AI collisionRule never
- fill ~-27 ~-1 ~-1 ~ ~-1 ~1 minecraft:redstone_block
- fill ~ ~ ~-2 ~ ~7 ~ minecraft:quartz_block
- :R!: blockdata ~ ~-1 ~-2 {auto:1b}
- ::section after
- setblock ~30 ~7 ~1 chain_command_block 9 _ {auto:1,TrackOutput:0b,Command:"tellraw @a [{\"text\":\" Lumberjack Villagers have been \",\"color\":\"gold\"},{\"text\":\"ENABLED\",\"color\":\"green\",\"bold\":true}]"}
- setblock ~4 ~3 ~ minecraft:chain_command_block 0 _ {auto:1b,Command:"setblock ~-2 ~2 ~ minecraft:wall_sign 4 _ {Text1:\"{\\\"text\\\":\\\"\\\"}\",Text2:\"{\\\"text\\\":\\\"Lumberjack Villagers\\\",\\\"color\\\":\\\"dark_blue\\\",\\\"bold\\\":true}\",Text3:\"{\\\"text\\\":\\\"by Energyxxer\\\",\\\"color\\\":\\\"blue\\\",\\\"italic\\\":true,\\\"clickEvent\\\":{\\\"action\\\":\\\"run_command\\\",\\\"value\\\":\\\"/tellraw @p [\\\\\\\" \\\\\\\",{\\\\\\\"text\\\\\\\":\\\\\\\"[Link to YouTube channel]\\\\\\\",\\\\\\\"color\\\\\\\":\\\\\\\"red\\\\\\\",\\\\\\\"hoverEvent\\\\\\\":{\\\\\\\"action\\\\\\\":\\\\\\\"show_text\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"Click to open\\\\\\\"},\\\\\\\"clickEvent\\\\\\\":{\\\\\\\"action\\\\\\\":\\\\\\\"open_url\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"http://youtube.com/user/Energyxxer\\\\\\\"}},\\\\\\\"\\n \\\\\\\",{\\\\\\\"text\\\\\\\":\\\\\\\"[Link to Website]\\\\\\\",\\\\\\\"color\\\\\\\":\\\\\\\"gold\\\\\\\",\\\\\\\"hoverEvent\\\\\\\":{\\\\\\\"action\\\\\\\":\\\\\\\"show_text\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"Click to open\\\\\\\"},\\\\\\\"clickEvent\\\\\\\":{\\\\\\\"action\\\\\\\":\\\\\\\"open_url\\\\\\\",\\\\\\\"value\\\\\\\":\\\\\\\"http://energyxxer.com\\\\\\\"}}]\\\"}}\",Text4:\"{\\\"text\\\":\\\"\\\"}\"}"}
- setblock ~4 ~2 ~ minecraft:chain_command_block 1 _ {auto:1b,Command:"setblock ~-2 ~ ~ minecraft:wall_sign 4 _ {Text1:\"{\\\"text\\\":\\\"==========\\\",\\\"color\\\":\\\"blue\\\",\\\"bold\\\":true,\\\"strikethrough\\\":true,\\\"clickEvent\\\":{\\\"action\\\":\\\"run_command\\\",\\\"value\\\":\\\"blockdata ~28 ~-1 ~1 {auto:1b}\\\"}}\",Text2:\"{\\\"text\\\":\\\"Toggle\\\",\\\"color\\\":\\\"blue\\\",\\\"bold\\\":true}\",Text3:\"[\\\"\\\",{\\\"text\\\":\\\"ON\\\",\\\"color\\\":\\\"green\\\"},\\\"/\\\",{\\\"text\\\":\\\"OFF\\\",\\\"color\\\":\\\"dark_red\\\"}]\",Text4:\"{\\\"text\\\":\\\"==========\\\",\\\"color\\\":\\\"blue\\\",\\\"bold\\\":true,\\\"strikethrough\\\":true}\"}"}
- setblock ~4 ~1 ~ minecraft:repeating_command_block 1 _ {auto:1b,Command:"setblock ~-2 ~ ~ minecraft:wall_sign 4 _ {Text1:\"{\\\"text\\\":\\\"==========\\\",\\\"color\\\":\\\"dark_red\\\",\\\"bold\\\":true,\\\"strikethrough\\\":true,\\\"clickEvent\\\":{\\\"action\\\":\\\"run_command\\\",\\\"value\\\":\\\"blockdata ~28 ~ ~-1 {auto:1b}\\\"}}\",Text2:\"{\\\"text\\\":\\\" /!\\\\\ \\\",\\\"color\\\":\\\"red\\\",\\\"bold\\\":true}\",Text3:\"{\\\"text\\\":\\\"Uninstall\\\",\\\"color\\\":\\\"red\\\",\\\"bold\\\":true}\",Text4:\"{\\\"text\\\":\\\"==========\\\",\\\"color\\\":\\\"dark_red\\\",\\\"bold\\\":true,\\\"strikethrough\\\":true}\"}"}
Advertisement
Add Comment
Please, Sign In to add comment