Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ::section config
- name: Presents
- shape:box
- max-length:3
- max-height:8
- x-offset:2
- y-offset:2
- z-offset:-1
- enable-math:true
- use-formatting:true
- version: 1.11
- include-success:false
- import:
- #Relative Blocks (BETA TEST)
- yLuBwShx
- ::section before
- fill ~2 ~-2 ~-1 ~21 ~8 ~1 quartz_block
- fill ~3 ~-2 ~-2 ~20 ~8 ~2 quartz_block
- fill ~3 ~ ~-2 ~20 ~7 ~2 stained_glass color=green
- fill ~2 ~-2 ~ ~21 ~8 ~ stained_hardened_clay color=red
- fill ~3 ~ ~-1 ~20 ~7 ~1 air
- fill ~3 ~ ~-1 ~20 ~ ~1 carpet
- fill ~3 ~ ~ ~20 ~ ~ carpet color=red
- fill ~3 ~-2 ~-1 ~20 ~-2 ~1 redstone_lamp
- setblock ~20 ~4 ~ stone_slab
- ::section crafting_tags
- :R!: scoreboard players tag @e[type=item,tag=pr_isPaper] remove pr_isPaper $pos a set; $pos b set; $pos a add y -1; $pos b add y -1; $pos b add z 2; $pos b add x 17;
- scoreboard players tag @e[type=item,tag=pr_isDye] remove pr_isDye
- scoreboard players tag @e[type=item] add pr_isPaper {Item:{id:minecraft:paper,Count:1b}}
- scoreboard players tag @e[type=item] add pr_isDye {Item:{id:minecraft:dye,Count:1b}}
- scoreboard players tag @e[type=item,tag=pr_isPaper] add pr_isCrafting
- scoreboard players tag @e[type=item,tag=pr_isDye] add pr_isCrafting
- :MULTI:
- iterations:9
- !x';-.5,-.5,-.5,,,,.5,.5,.5
- !z';-.5,,.5,-.5,,.5,-.5,,.5
- execute @e[type=item,tag=pr_isCrafting] ~%x ~ ~%z detect ~ ~-.1 ~ minecraft:crafting_table * scoreboard players tag @e[type=item,tag=pr_isCrafting,dx=0] add pr_onWorkbench
- scoreboard players tag @e[type=item,tag=!pr_onWorkbench] remove pr_isPaper
- scoreboard players tag @e[type=item,tag=!pr_onWorkbench] remove pr_isDye
- scoreboard players tag @e[type=item,tag=pr_onWorkbench] remove pr_onWorkbench
- scoreboard players tag @e[type=item,tag=pr_isCrafting] remove pr_isCrafting
- scoreboard players reset @e[type=item,tag=!pr_isDye,score_pr_dyeID_min=1] pr_dyeID
- scoreboard players add @e[type=item,tag=pr_isDye] pr_dyeID 0
- scoreboard players tag @e[type=item,tag=pr_isDye,score_pr_dyeID==0,c=1] add pr_assignDyeID
- scoreboard players operation @e[type=item,tag=pr_assignDyeID] pr_dyeID > * pr_dyeID
- scoreboard players add @e[type=item,tag=pr_assignDyeID] pr_dyeID 1
- scoreboard players tag @e[type=item,tag=pr_assignDyeID] remove pr_assignDyeID
- ::section crafting
- $shortcut extraLore "","§3Use: §fDrop to place down"
- $shortcut c0 16777215
- $shortcut c1 14188339
- $shortcut c2 11685080
- $shortcut c3 6724056
- $shortcut c4 15066419
- $shortcut c5 8375321
- $shortcut c6 15892389
- $shortcut c7 5000268
- $shortcut c8 10066329
- $shortcut c9 5013401
- $shortcut c10 8339378
- $shortcut c11 3361970
- $shortcut c12 6704179
- $shortcut c13 6717235
- $shortcut c14 10040115
- $shortcut c15 1644825
- :R!: execute @e[type=item,tag=pr_isPaper] ~ ~ ~ testfor @e[type=item,tag=pr_isDye,r=2]
- :R?: blockdata ~ ~-1 ~ {SuccessCount:0}
- scoreboard players reset @e[type=item,score_pr_dyeCount_min=1] pr_dyeCount
- execute @e[type=item,tag=pr_isDye] ~ ~ ~ scoreboard players add @e[type=item,tag=pr_isPaper,r=2] pr_dyeCount 1
- scoreboard players tag @e[type=item,tag=pr_isPaper,score_pr_dyeCount_min=2,c=1] add pr_craft
- #
- # Get box color
- #
- execute @e[type=item,tag=pr_craft] ~ ~ ~ scoreboard players operation @e[type=item,tag=pr_craft,r=0,c=1] pr_op = @e[type=item,tag=pr_isDye,r=2,c=1] pr_dyeID
- execute @e[type=item,tag=pr_craft] ~ ~ ~ scoreboard players operation @e[type=item,tag=pr_craft,r=0,c=1] pr_op < @e[type=item,tag=pr_isDye,r=2] pr_dyeID
- execute @e[type=item,tag=pr_craft] ~ ~ ~ execute @e[type=item,tag=pr_isDye,r=2] ~ ~ ~ scoreboard players operation @e[type=item,tag=pr_isDye,r=0,c=1] pr_op = @e[type=item,tag=pr_isDye,r=0,c=1] pr_dyeID
- execute @e[type=item,tag=pr_craft] ~ ~ ~ scoreboard players operation @e[type=item,tag=pr_isDye,r=2] pr_op -= @e[type=item,tag=pr_craft,r=0,c=1] pr_op
- execute @e[type=item,tag=pr_craft] ~ ~ ~ scoreboard players tag @e[type=item,tag=pr_isDye,score_pr_op==0] add pr_boxColor
- scoreboard players tag @e[type=item,tag=pr_boxColor] remove pr_isDye
- #
- # Get ribbon color
- #
- execute @e[type=item,tag=pr_craft] ~ ~ ~ scoreboard players operation @e[type=item,tag=pr_craft,r=0,c=1] pr_op = @e[type=item,tag=pr_isDye,r=2,c=1] pr_dyeID
- execute @e[type=item,tag=pr_craft] ~ ~ ~ scoreboard players operation @e[type=item,tag=pr_craft,r=0,c=1] pr_op < @e[type=item,tag=pr_isDye,r=2] pr_dyeID
- execute @e[type=item,tag=pr_craft] ~ ~ ~ execute @e[type=item,tag=pr_isDye,r=2] ~ ~ ~ scoreboard players operation @e[type=item,tag=pr_isDye,r=0,c=1] pr_op = @e[type=item,tag=pr_isDye,r=0,c=1] pr_dyeID
- execute @e[type=item,tag=pr_craft] ~ ~ ~ scoreboard players operation @e[type=item,tag=pr_isDye,r=2] pr_op -= @e[type=item,tag=pr_craft,r=0,c=1] pr_op
- execute @e[type=item,tag=pr_craft] ~ ~ ~ scoreboard players tag @e[type=item,tag=pr_isDye,score_pr_op==0] add pr_ribbonColor
- scoreboard players tag @e[type=item,tag=pr_ribbonColor] remove pr_isDye
- # Craft
- scoreboard players tag @e[type=item,tag=pr_boxColor] add pr_isDyeFinal
- scoreboard players tag @e[type=item,tag=pr_ribbonColor] add pr_isDyeFinal
- :MULTI:
- iterations:16
- !c#:2;0,15
- scoreboard players set @e[type=item,tag=pr_isDyeFinal] pr_dyeColor %c {Item:{Damage:subtract(15,%c)s}}
- execute @e[type=item,tag=pr_craft] ~ ~ ~ summon area_effect_cloud ~ ~ ~ {CustomName:pr_assembly,Tags:["pr_assembler"],Duration:4}
- execute @e[type=item,tag=pr_craft] ~ ~ ~ scoreboard players operation @e[type=area_effect_cloud,name=pr_assembly,r=1,c=1] pr_boxColor = @e[type=item,tag=pr_boxColor,r=2] pr_dyeColor
- execute @e[type=item,tag=pr_craft] ~ ~ ~ scoreboard players operation @e[type=area_effect_cloud,name=pr_assembly,r=1,c=1] pr_ribbonColor = @e[type=item,tag=pr_ribbonColor,r=2] pr_dyeColor
- execute @e[type=item,tag=pr_craft] ~ ~ ~ kill @e[type=item,tag=pr_boxColor,r=2]
- execute @e[type=item,tag=pr_craft] ~ ~ ~ kill @e[type=item,tag=pr_ribbonColor,r=2]
- kill @e[type=item,tag=pr_craft]
- ::section wear_prevention
- :R!: testfor @a {Inventory:[{Slot:100b,tag:{isPresent:1b}}]}
- :R?: blockdata ~ ~-1 ~ {SuccessCount:0}
- scoreboard players tag @a add pr_unequip {Inventory:[{Slot:100b,tag:{isPresent:1b}}]}
- :MULTI:
- iterations:16
- !c#:2;0,15
- scoreboard players set @a[tag=pr_unequip] pr_boxColor %c {Inventory:[{Slot:100b,tag:{present:{box:%c}}}]}
- scoreboard players set @a[tag=pr_unequip] pr_ribbonColor %c {Inventory:[{Slot:100b,tag:{present:{ribbon:%c}}}]}
- execute @a[tag=pr_unequip] ~ ~ ~ summon area_effect_cloud ~ ~ ~ {CustomName:pr_assembly,Tags:["pr_assembler"],Duration:4}
- execute @a[tag=pr_unequip] ~ ~ ~ scoreboard players operation @e[type=area_effect_cloud,name=pr_assembly,r=1,c=1] pr_boxColor = @a[r=0,c=1] pr_boxColor
- execute @a[tag=pr_unequip] ~ ~ ~ scoreboard players operation @e[type=area_effect_cloud,name=pr_assembly,r=1,c=1] pr_ribbonColor = @a[r=0,c=1] pr_ribbonColor
- replaceitem entity @a[tag=pr_unequip] slot.armor.feet air
- title @a[tag=pr_unequip] actionbar {"text":"Drop the present to place it down","color":"dark_aqua"}
- scoreboard players tag @a[tag=pr_unequip] remove pr_unequip
- ::section item_assembly
- :R!: testfor @e[tag=pr_assembler]
- :R?: blockdata ~ ~-1 ~ {SuccessCount:0}
- execute @e[tag=pr_assembler] ~ ~ ~ summon item ~ ~ ~ {CustomName:Present,Item:{id:minecraft:leather_boots,Count:1b,Damage:1s,tag:{Unbreakable:1b,AttributeModifiers:[],HideFlags:63,isPresent:1b}},Tags:["pr_crafted"]}
- :MULTI:
- iterations:16
- !c#:2;0,15
- !n';White,Orange,Magenta,Light Blue,Yellow,Lime,Pink,Gray,Light Gray,Cyan,Purple,Blue,Brown,Dark Green,Red,Black
- execute @e[tag=pr_assembler,score_pr_boxColor==%c] ~ ~ ~ entitydata @e[type=item,tag=pr_crafted,r=2,c=1] {Item:{tag:{present:{box:%c},display:{color:$s c%c;,LocName:"%n Present"}}}}
- execute @e[tag=pr_assembler,score_pr_ribbonColor==%c] ~ ~ ~ entitydata @e[type=item,tag=pr_crafted,r=2,c=1] {Item:{Damage:add(%c,1)s,tag:{present:{ribbon:%c},display:{Lore:["§7With %n Ribbon",$s extraLore;]}}}}
- kill @e[tag=pr_assembler]
- ::section placement
- :R!: scoreboard players tag @e[type=item,tag=!pr_crafted] add pr_place {Item:{Count:1b,tag:{isPresent:1b}},OnGround:1b}
- execute @e[type=armor_stand,tag=present] ~ ~ ~ scoreboard players tag @e[type=item,tag=pr_place,r=1] remove pr_place
- scoreboard players tag @e[type=item,tag=pr_place,c=1] add pr_isolate
- scoreboard players tag @e[type=item,tag=!pr_isolate] remove pr_place
- scoreboard players tag @e[type=item,tag=pr_isolate] remove pr_isolate
- execute @e[type=item,tag=pr_place] ~ ~ ~ summon armor_stand ~ ~ ~ {CustomName:present_box,Invisible:1b,Marker:1b,Tags:["present","present_box","pr_open","pr_init"],Passengers:[{id:minecraft:armor_stand,CustomName:present_ribbon,Invisible:1b,Marker:1b,Tags:["present","present_ribbon"],Passengers:[{id:minecraft:slime,Size:0,Silent:1b,CustomName:present_hitbox,Invulnerable:1b,ActiveEffects:[{Id:14,Amplifier:0,Duration:10000s,ShowParticles:0b},{Id:11,Amplifier:5,Duration:10000s,ShowParticles:0b}],Tags:["present","present_hitbox"]}]}]}
- :MULTI:
- iterations:16
- !c#:2;0,15
- scoreboard players set @e[type=item,tag=pr_place] pr_boxColor %c {Item:{tag:{present:{box:%c}}}}
- scoreboard players set @e[type=item,tag=pr_place] pr_ribbonColor %c {Item:{tag:{present:{ribbon:%c}}}}
- execute @e[type=item,tag=pr_place] ~ ~ ~ scoreboard players operation @e[type=armor_stand,name=present_box,r=1,c=1] pr_boxColor = @e[type=item,tag=pr_place,r=0,c=1] pr_boxColor
- execute @e[type=item,tag=pr_place] ~ ~ ~ scoreboard players operation @e[type=armor_stand,name=present_box,r=1,c=1] pr_ribbonColor = @e[type=item,tag=pr_place,r=0,c=1] pr_ribbonColor
- kill @e[type=item,tag=pr_place]
- ::section presents
- :R!: testfor @e[type=armor_stand,tag=present]
- :R?: blockdata ~ ~-1 ~ {SuccessCount:0}
- scoreboard players add @e[type=armor_stand,name=present_box] pr_presentID 0
- scoreboard players tag @e[type=armor_stand,name=present_box,score_pr_presentID==0,c=1] add pr_assignPresentID
- scoreboard players operation @e[type=armor_stand,name=present_box,tag=pr_assignPresentID] pr_presentID > * pr_presentID
- scoreboard players add @e[type=armor_stand,name=present_box,tag=pr_assignPresentID] pr_presentID 1
- scoreboard players tag @e[type=armor_stand,name=present_box,tag=pr_assignPresentID] remove pr_assignPresentID
- :MULTI:
- iterations:16
- !c#:2;0,15
- replaceitem entity @e[type=armor_stand,name=present_box,tag=pr_init,score_pr_boxColor==%c] slot.armor.head minecraft:leather_boots 1 19 {Unbreakable:1b,display:{color:$s c%c;}}
- execute @e[type=armor_stand,name=present_box,tag=pr_init,score_pr_ribbonColor==%c] ~ ~ ~ replaceitem entity @e[type=armor_stand,name=present_ribbon,r=1,c=1] slot.armor.head minecraft:leather_boots 1 20 {Unbreakable:1b,display:{color:$s c%c;}}
- scoreboard players tag @e[type=armor_stand,name=present_box,tag=pr_init] remove pr_init
- execute @e[type=armor_stand,name=present_box,tag=pr_open] ~ ~ ~ scoreboard players tag @e[type=item,r=1] add pr_crafted {Item:{tag:{isPresent:1b}}}
- execute @e[type=armor_stand,name=present_box,tag=pr_open] ~ ~ ~ scoreboard players tag @e[type=item,r=1,c=1,tag=!pr_crafted] add pr_presentItem
- execute @e[type=item,tag=pr_presentItem] ~ ~ ~ scoreboard players tag @e[type=armor_stand,name=present_box,tag=pr_open,r=2,c=1] add pr_close
- execute @e[type=armor_stand,name=present_box,tag=pr_close] ~ ~ ~ scoreboard players operation @e[type=item,tag=pr_presentItem,r=1,c=1] pr_presentID = @e[type=armor_stand,name=present_box,r=1,c=1] pr_presentID
- scoreboard players tag @e[type=armor_stand,name=present_box,tag=pr_close] remove pr_open
- :MULTI:
- iterations:16
- !c#:2;0,15
- replaceitem entity @e[type=armor_stand,name=present_box,tag=pr_close,score_pr_boxColor==%c] slot.armor.head minecraft:leather_boots 1 17 {Unbreakable:1b,display:{color:$s c%c;}}
- execute @e[type=armor_stand,name=present_box,tag=pr_close,score_pr_ribbonColor==%c] ~ ~ ~ replaceitem entity @e[type=armor_stand,tag=present_ribbon,r=1,c=1] slot.armor.head minecraft:leather_boots 1 18 {Unbreakable:1b,display:{color:$s c%c;}}
- execute @e[type=armor_stand,name=present_box,tag=pr_close] ~ ~ ~ playsound minecraft:item.armor.equip_leather master @a
- execute @e[type=armor_stand,name=present_box,tag=pr_close] ~ ~ ~ playsound minecraft:entity.horse.saddle master @a
- execute @e[type=armor_stand,name=present_box,tag=pr_close] ~ ~ ~ entitydata @e[type=slime,name=present_hitbox,r=1,c=1] {Invulnerable:0b}
- scoreboard players tag @e[type=armor_stand,name=present_box,tag=pr_close] remove pr_close
- execute @e[type=armor_stand,name=present_box,tag=!pr_open] ~ ~ ~ scoreboard players tag @e[type=slime,name=present_hitbox,r=1,c=1] add pr_retrieve {HurtTime:10s}
- execute @e[type=slime,name=present_hitbox,tag=pr_retrieve] ~ ~ ~ execute @e[type=item,tag=pr_presentItem] ~ ~ ~ scoreboard players operation @e[type=item,tag=pr_presentItem,r=0,c=1] pr_op = @e[type=item,tag=pr_presentItem,r=0,c=1] pr_presentID
- execute @e[type=slime,name=present_hitbox,tag=pr_retrieve] ~ ~ ~ scoreboard players operation @e[type=item,tag=pr_presentItem] pr_op -= @e[type=armor_stand,name=present_box,r=1,c=1] pr_presentID
- execute @e[type=slime,name=present_hitbox,tag=pr_retrieve] ~ ~ ~ teleport @e[type=item,tag=pr_presentItem,score_pr_op==0] ~ ~ ~
- execute @e[type=slime,name=present_hitbox,tag=pr_retrieve] ~ ~ ~ entitydata @e[type=item,tag=pr_presentItem,score_pr_op==0] {Tags:[],PickupDelay:0s}
- execute @e[type=slime,name=present_hitbox,tag=pr_retrieve] ~ ~ ~ playsound presents:present_unwrap master @a
- execute @e[type=slime,name=present_hitbox,tag=pr_retrieve] ~ ~ ~ summon item ~ ~ ~ {Item:{id:minecraft:paper,Count:1b}}
- execute @e[type=slime,name=present_hitbox,tag=pr_retrieve] ~ ~ ~ tp @e[tag=present,r=1,c=3] ~ -512 ~
- ::section item_keeping
- :R!: tp @e[type=item,tag=pr_presentItem] @e[type=armor_stand,name=pr_itemStorage,c=1]
- entitydata @e[type=item,tag=pr_presentItem] {Age:0s,PickupDelay:32767s}
- ::section uninstall
- :I: setblock ~ ~ ~ carpet
- :I!: scoreboard objectives remove pr_dyeID dummy
- scoreboard objectives remove pr_dyeCount dummy
- scoreboard objectives remove pr_dyeColor dummy
- scoreboard objectives remove pr_op dummy
- scoreboard objectives remove pr_boxColor dummy
- scoreboard objectives remove pr_ribbonColor dummy
- scoreboard objectives remove pr_presentID dummy $pos init2 set;
- execute @e[type=armor_stand,name=pr_itemStorage,c=1] ~ ~ ~ kill @e[type=!player,r=1]
- tp @e[tag=present] ~ ~-512 ~
- tellraw @a ["\n\n",{"text":" Presents ","color":"red","bold":true},{"text":"by Energyxxer","color":"red","italic":true},{"text":"\n have been successfully uninstalled.","color":"dark_red","italic":true},"\n\n"]
- fill ~-17 ~-6 ~-2 ~3 ~4 ~2 minecraft:air
- ::section physical_before
- :I: setblock ~ ~ ~ carpet
- :I!: gamerule commandBlockOutput false $pos init set;
- gamerule logAdminCommands false
- scoreboard objectives add pr_dyeID dummy
- scoreboard objectives add pr_dyeCount dummy
- scoreboard objectives add pr_dyeColor dummy
- scoreboard objectives add pr_op dummy
- scoreboard objectives add pr_boxColor dummy
- scoreboard objectives add pr_ribbonColor dummy $pos init2 set;
- scoreboard objectives add pr_presentID dummy
- summon armor_stand ~1 ~-1 ~ {CustomName:pr_itemStorage,NoGravity:1b,Invulnerable:1b}
- fill $pos a get; $pos b get; minecraft:redstone_block
- tellraw @a ["\n\n",{"text":" Presents ","color":"aqua","bold":true},{"text":"by Energyxxer","color":"aqua","italic":true},{"text":"\n have been successfully installed.","color":"dark_aqua","italic":true},"\n\n"]
- fill $pos init get; $pos init2 get; minecraft:air
- :I: blockdata $pos init get; {auto:1b}
- ::section toggle
- :I!: blockdata ~ ~ ~ {Command:"tellraw @a [{\"text\":\" Presents have been \",\"color\":\"gold\"},{\"text\":\"ENABLED\",\"color\":\"green\",\"bold\":true}]"}
- :I!: blockdata ~ ~ ~ {auto:0b}
- fill $pos a get; $pos b get; minecraft:wool color=red replace minecraft:stained_hardened_clay color=red
- fill $pos a get; $pos b get; minecraft:stained_hardened_clay color=red replace minecraft:redstone_block
- :?: tellraw @a [{"text":" Presents have been ","color":"gold"},{"text":"DISABLED","color":"red","bold":true}]
- fill $pos a get; $pos b get; minecraft:redstone_block default replace minecraft:wool
- ::section after
- #Signs
- setblock ~1 ~5 ~ wall_sign facing=west _ {Text1:"[\"\"]",Text2:"{\"text\":\"Presents\",\"color\":\"dark_red\",\"bold\":true}",Text3:"{\"text\":\"by Energyxxer\",\"color\":\"yellow\",\"italic\":true}",Text3:"[\"\"]",Text4:"[\"\"]"}
- setblock ~1 ~2 ~ wall_sign facing=west _ {Text1:"{\"text\":\"============\",\"color\":\"blue\",\"strikethrough\":true}",Text2:"{\"text\":\"Toggle\",\"color\":\"blue\",\"bold\":true}",Text3:"[\"\",{\"text\":\"ON\",\"color\":\"green\"},\" / \",{\"text\":\"OFF\",\"color\":\"dark_red\"}]",Text4:"{\"text\":\"============\",\"color\":\"blue\",\"strikethrough\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"blockdata ~19 ~-1 ~-1 {auto:1b}\"}}"}
- setblock ~1 ~1 ~ wall_sign facing=west _ {Text1:"{\"text\":\"============\",\"color\":\"dark_red\",\"strikethrough\":true}",Text2:"{\"text\":\" /!\\\ \",\"color\":\"red\",\"bold\":true}",Text3:"{\"text\":\"Uninstall\",\"color\":\"red\",\"bold\":true}",Text4:"{\"text\":\"============\",\"color\":\"dark_red\",\"strikethrough\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"blockdata ~17 ~ ~-1 {auto:1b}\"}}"}
Advertisement
Add Comment
Please, Sign In to add comment