Commands
/scoreboard players set @e[type=Item] cast 2 {Item:{id:"minecraft:stick",Count:2b}}
/scoreboard players set @e[type=Item] cast 1 {Item:{id:"minecraft:cobblestone",Count:4b}}
execute @e[type=Item,score_cast_min=1,score_cast=1] ~ ~ ~ execute @e[type=Item,score_cast_min=2,score_cast=2,r=1] ~ ~ ~ summon Item ~ ~ ~ {Item:{id:"minecraft:golden_axe",Damage:3s,Count:1b,tag:{ench:[{id:34,lvl:1000}],display:{Name:Stone Hammer},HideFlags:35}},PickupDelay:20s}
execute @e[type=Item,score_cast_min=1,score_cast=1] ~ ~ ~ execute @e[type=Item,score_cast_min=2,score_cast=2,r=1] ~ ~ ~ kill @e[type=Item,r=1,score_cast_min=1,score_cast=2]
scoreboard players set @e[type=Item] cast 3 {Item:{id:"minecraft:stone_slab",Damage:5s},OnGround:1b}
scoreboard players set @e[type=Item] cast 4 {Item:{id:"minecraft:iron_bars",Damage:0s,Count:4b},OnGround:1b,}
execute @e[type=Item,score_cast_min=3,score_cast=3] ~ ~ ~ execute @e[type=Item,score_cast_min=4,score_cast=4,r=1] ~ ~ ~ summon Item ~ ~ ~ {Item:{id:"spawn_egg",Count:1b,tag:{ench:[],display:{Name:Casting Table},EntityTag:{id:"Silverfish",CustomName:C4571NG-74B13}}}}
execute @e[type=Item,score_cast_min=3,score_cast=3] ~ ~ ~ execute @e[type=Item,score_cast_min=4,score_cast=4,r=1] ~ ~ ~ kill @e[type=Item,r=1,score_cast_min=3,score_cast=4]
execute @e[type=Silverfish,name=C4571NG-74B13] ~ ~ ~ summon ArmorStand ~ ~-0.9 ~ {ArmorItems:[{},{},{},{id:"golden_axe",Damage:11}],NoGravity:1,CustomName:Table,Invisible:1}
execute @e[type=Silverfish,name=C4571NG-74B13] ~ ~ ~ setblock ~ ~ ~ stone_slab
execute @e[type=Silverfish,name=C4571NG-74B13] ~ ~ ~ /summon Villager ~ ~ ~ {CustomName:"Casting-Table",Profession:0,Offers:{Recipes:[{rewardExp:0b,maxUses:2147483647,uses:0,buy:{id:stone_pickaxe,Count:1},buyB:{id:stone_pressure_plate,Count:1},sell:{id:stone_pressure_plate,Count:1,tag:{display:{Name:"Pickaxe Cast"}}}},{rewardExp:0b,maxUses:2147483647,uses:0,buy:{id:stone_sword,Count:1},buyB:{id:stone_pressure_plate,Count:1},sell:{id:stone_pressure_plate,Count:1,tag:{display:{Name:"Sword Cast"}}}},{rewardExp:0b,maxUses:2147483647,uses:0,buy:{id:stone_axe,Count:1},buyB:{id:stone_pressure_plate,Count:1},sell:{id:stone_pressure_plate,Count:1,tag:{display:{Name:"Axe Cast"}}}},{rewardExp:0b,maxUses:2147483647,uses:0,buy:{id:stone_shovel,Count:1},buyB:{id:stone_pressure_plate,Count:1},sell:{id:stone_pressure_plate,Count:1,tag:{display:{Name:"Shovel Cast"}}}},{rewardExp:0b,maxUses:2147483647,uses:0,buy:{id:stone_pressure_plate,Count:1},buyB:{id:stone_hoe,Count:1},sell:{id:stone_pressure_plate,Count:1,tag:{display:{Name:"Hoe Cast"}}}},{rewardExp:0b,maxUses:2147483647,uses:0,buy:{id:stone_pressure_plate,Count:1,tag:{display:{Name:"Axe Cast"}}},buyB:{id:barrier,Count:3,tag:{ench:[],display:{Name:Molten Iron Ingot}}},sell:{id:iron_axe,Count:1,tag:{H:1,display:{Lore:[Forged]}}}},{rewardExp:0b,maxUses:2147483647,uses:0,buy:{id:stone_pressure_plate,Count:1,tag:{display:{Name:"Pickaxe Cast"}}},buyB:{id:barrier,Count:3,tag:{ench:[],display:{Name:Molten Iron Ingot}}},sell:{id:iron_pickaxe,Count:1,tag:{H:1,display:{Lore:[Forged]}}}},{rewardExp:0b,maxUses:2147483647,uses:0,buy:{id:stone_pressure_plate,Count:1,tag:{display:{Name:"Sword Cast"}}},buyB:{id:barrier,Count:1,tag:{ench:[],display:{Name:Molten Iron Ingot}}},sell:{id:iron_sword,Count:1,tag:{H:1,display:{Lore:[Forged]}}}},{rewardExp:0b,maxUses:2147483647,uses:0,buy:{id:stone_pressure_plate,Count:1,tag:{display:{Name:"Hoe Cast"}}},buyB:{id:barrier,Count:2,tag:{ench:[],display:{Name:Molten Iron Ingot}}},sell:{id:iron_hoe,Count:1,tag:{H:1,display:{Lore:[Forged]}}}},{rewardExp:0b,maxUses:2147483647,uses:0,buy:{id:stone_pressure_plate,Count:1,tag:{display:{Name:"Shovel Cast"}}},buyB:{id:barrier,Count:1,tag:{ench:[],display:{Name:Molten Iron Ingot}}},sell:{id:iron_shovel,Count:1,tag:{H:1,display:{Lore:[Forged]}}}}]},PersistenceRequired:1,NoAI:1,Silent:1,ActiveEffects:[{Id:14,Amplifier:0,Duration:200000,ShowParticles:0b}]}
/tp @e[name=C4571NG-74B13] ~ -1000 ~
execute @e[name=Table] ~ ~ ~ detect ~ ~1 ~ air 0 kill @e[c=1]
execute @e[name=Casting-Table] ~ ~ ~ detect ~ ~ ~ air 0 kill @e[type=Item,c=1,r=1]
execute @e[name=Casting-Table] ~ ~ ~ detect ~ ~ ~ air 0 summon Item ~ ~ ~ {Item:{id:"spawn_egg",Count:1b,tag:{ench:[],display:{Name:Casting Table},EntityTag:{id:"Silverfish",CustomName:C4571NG-74B13}}},Motion:[0.0,0.4,0.0]}
execute @e[name=Casting-Table] ~ ~ ~ detect ~ ~ ~ air 0 tp @e[c=1] ~ ~-10000 ~
execute @e[name=Casting-Table] ~ ~ ~ detect ~ ~ ~ air 0 kill @e[c=1]
scoreboard players set @a forge 1 {SelectedItem:{id:"minecraft:iron_pickaxe"}}
scoreboard players set @a forge 2 {SelectedItem:{id:"minecraft:iron_axe"}}
scoreboard players set @a forge 3 {SelectedItem:{id:"minecraft:iron_shovel"}}
scoreboard players set @a forge 4 {SelectedItem:{id:"minecraft:iron_hoe"}}
scoreboard players set @a forge 5 {SelectedItem:{id:"minecraft:iron_sword"}}
scoreboard players set @a forge 0 {SelectedItem:{tag:{display:{Lore:[Forged]}}}}
clear @a[score_forge_min=1,score_forge=1] iron_pickaxe 0 1
clear @a[score_forge_min=2,score_forge=2] iron_axe 0 1
/give @a[score_forge_min=1,score_forge=2] iron_ingot 3
/clear @a[score_forge_min=3,score_forge=3] iron_shovel 0 1
/give @a[score_forge_min=3,score_forge=3] iron_shovel 0 1
/give @a[score_forge_min=3,score_forge=3] iron_ingot 1
/give @a[score_forge_min=4,score_forge=4] iron_ingot 2
clear @a[score_forge_min=4,score_forge=4] iron_hoe 0 1
clear @a[score_forge_min=5,score_forge=5] iron_sword 0 1
give @a[score_forge_min=5,score_forge=5] iron_ingot 2
give @a[score_forge_min=5,score_forge=5] stick 1
tellraw @a[score_forge_min=1] {"text":"Iron tools must be forged before they can be used!","color":"gold","italic":"true"}
scoreboard players set @a[score_forge_min=1] forge 0
scoreboard players set @e[type=Item] forge 1 {Item:{id:"minecraft:cauldron"},OnGround:1b}
scoreboard players set @e[type=Item] forge 2 {Item:{id:"minecraft:coal_block"},OnGround:1b}
execute @e[type=Item,score_forge_min=1,score_forge=1] ~ ~ ~ execute @e[type=Item,score_forge_min=2,score_forge=2,r=1] ~ ~ ~ summon Item ~ ~ ~ {Item:{id:"spawn_egg",Count:1b,tag:{display:{Name:Forge},ench:[],EntityTag:{id:"Skeleton",CustomName:F0RGE}}}}
execute @e[type=Item,score_forge_min=1,score_forge=1] ~ ~ ~ execute @e[type=Item,score_forge_min=2,score_forge=2,r=1] ~ ~ ~ kill @e[type=Item,r=1,score_forge_min=1,score_forge=2]
execute @e[type=Skeleton,name=F0RGE] ~ ~ ~ setblock ~ ~ ~ lit_furnace 0
execute @e[type=Skeleton,name=F0RGE] ~ ~ ~ summon ArmorStand ~ ~-.5 ~ {ArmorItems:[{},{},{},{id:"golden_axe",Damage:20s}],CustomName:Forge,DisabledSlots:2039583,NoGravity:1,Invisible:1}
tp @e[name=F0RGE] ~ ~-1000 ~
execute @e[name=Forge] ~ ~ ~ detect ~ ~.5 ~ air 0 kill @e[type=Item,c=1]
execute @e[name=Forge] ~ ~ ~ detect ~ ~.5 ~ air 0 summon Item ~ ~.5 ~ {Item:{id:"spawn_egg",Count:1b,tag:{display:{Name:Forge},ench:[],EntityTag:{id:"Skeleton",CustomName:F0RGE}}},Motion:[0.0,0.4,0.0]}
execute @e[name=Forge] ~ ~ ~ detect ~ ~.5 ~ air 0 kill @e[c=1]
execute @e[name=Forge,type=ArmorStand] ~ ~1.502 ~ scoreboard players set @e[type=Item,r=1] forgetime 1 {Item:{id:"minecraft:coal_block"}}
execute @e[type=Item,score_forgetime_min=1,score_forgetime=1] ~ ~-1.5 ~ execute @e[type=ArmorStand,r=2,name=Forge] ~ ~ ~ playsound block.fire.ambient @a ~ ~ ~ 1 1 1
execute @e[type=Item,score_forgetime_min=1,score_forgetime=1] ~ ~-1.5 ~ scoreboard players add @e[type=ArmorStand,name=Forge,r=2] forgetime 600
execute @e[type=ArmorStand,name=Forge,score_forgetime_min=600] ~ ~1.5 ~ kill @e[type=Item,score_forgetime_min=1,score_forgetime=1,r=1]
scoreboard players remove @e[score_forgetime_min=1,type=ArmorStand] forgetime 1
execute @e[score_forgetime_min=1,type=ArmorStand] ~ ~ ~ particle flame ~ ~1.52 ~ .1 0 .1 0 10 force
execute @e[score_forgetime_min=1,type=ArmorStand] ~ ~2 ~ scoreboard players add @e[type=Item,r=1] smelt 1 {Item:{id:"minecraft:iron_ingot"}}
execute @e[type=Item,score_smelt_min=200] ~ ~ ~ particle flame ~ ~.2 ~ .05 .05 .05 .01 10
entitydata @e[type=Item,score_smelt_min=200] {Item:{id:"minecraft:barrier",tag:{ench:[],display:{Name:Molten Iron Ingot}}}}
scoreboard players set @a[score_smelt_min=1] smelt 0
scoreboard players set @a smelt 1 {SelectedItem:{id:"minecraft:barrier",tag:{ench:[],display:{Name:Molten Iron Ingot}}}}
execute @a[score_smelt_min=1,m=0] ~ ~ ~ gamerule sendCommandFeedback false
/gamemode 2 @a[score_smelt_min=1,m=0]
execute @a[score_smelt_min=1,m=2] ~ ~ ~ gamerule sendCommandFeedback true
execute @a[score_smelt=0,m=2] ~ ~ ~ gamerule sendCommandFeedback false
/gamemode 0 @a[score_smelt=0,m=2]
execute @a[score_smelt=0,m=0] ~ ~ ~ gamerule sendCommandFeedback true
execute @e[name=Forge,score_forgetime_min=1] ~ ~ ~ setblock ~ ~1 ~ lit_furnace
execute @e[name=Forge,score_forgetime_min=1,score_forgetime=1] ~ ~ ~ setblock ~ ~1 ~ furnace
scoreboard players add @a hot 2 {SelectedItem:{id:"minecraft:barrier"}}
scoreboard players remove @a[score_hot_min=1] hot 1
scoreboard players remove @a[score_hot_min=300] hot 3
execute @a[score_hot_min=270] ~ ~ ~ setblock ~ ~ ~ fire
scoreboard players set @a forge -1 {SelectedItem:{tag:{H:1}}}
effect @a[score_forge=-1] weakness 1 100 true
effect @a[score_forge=-1] mining_fatigue 1 2 true
effect @a[score_forge=-1] haste 1 1 true
scoreboard players set @a[score_forge=-1] forge 0
scoreboard players set @e[type=Item] sharp 1 {Item:{tag:{H:1}}}
scoreboard players set @e[type=Item] sharp 2 {Item:{id:"minecraft:golden_axe",tag:{display:{Name:Stone Hammer}}}}
execute @e[type=Item,score_sharp_min=2] ~ ~ ~ entitydata @e[type=Item,score_sharp=1,r=2] {Item:{tag:{H:0}}}
execute @e[type=Item,score_sharp_min=2] ~ ~ ~ entitydata @e[type=Item,score_sharp=1,score_sharp_min=1,r=1] {Item:{tag:{H:0,F:1,display:{Lore:[Forged]}}}}
execute @e[type=Item,score_sharp_min=2] ~ ~ ~ execute @e[type=Item,score_sharp=1,score_sharp_min=1,r=1] ~ ~ ~ playsound block.anvil.use @a ~ ~ ~ 1 1 1
execute @e[type=Item,score_sharp_min=2] ~ ~ ~ execute @e[type=Item,score_sharp=1,score_sharp_min=1,r=1] ~ ~ ~ scoreboard players set @e[r=1] sharp 0
INIT:/scoreboard objectives add cast dummy
INIT:/scoreboard objectives add smelt dummy
INIT:/scoreboard objectives add forge dummy
INIT:/scoreboard objectives add forgetime dummy
INIT:/scoreboard objectives add cool dummy
INIT:/scoreboard objectives add hot dummy
INIT:/scoreboard objectives add sharp dummy