Throw 64 planks at a gray cat to get a house
Throw a blaze rod at an orange cat to turn it into fire cat for 15 seconds
Throw prismarine Crystals at a black cat to turn it into sparky sparky cat for 5 seconds
/summon FallingSand ~ ~1 ~ {Block:stone,Time:1,Passengers:[{id:FallingSand,Block:redstone_block,Time:1,Passengers:[{id:FallingSand,Block:activator_rail,Time:1,Passengers:[{id:MinecartCommandBlock,Command:gamerule commandBlockOutput false},{id:MinecartCommandBlock,Command:"fill ~2 ~-3 ~-2 ~8 ~1 ~2 stained_hardened_clay 3 hollow"},{id:MinecartCommandBlock,Command:"fill ~2 ~-2 ~-2 ~8 ~ ~2 stained_glass 2 replace stained_hardened_clay"},{id:MinecartCommandBlock,Command:setblock ~6 ~ ~ chain_command_block 4 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ kill @e[c=1]"}},{id:MinecartCommandBlock,Command:setblock ~7 ~ ~ chain_command_block 4 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ fill ~1 ~ ~ ~1 ~4 ~ ladder 4"}},{id:MinecartCommandBlock,Command:setblock ~7 ~ ~-1 chain_command_block 3 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ fill ~2 ~ ~ ~2 ~4 ~ log2 1"}},{id:MinecartCommandBlock,Command:setblock ~6 ~ ~-1 chain_command_block 5 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ fill ~1 ~5 ~1 ~-1 ~5 ~-1 air"}},{id:MinecartCommandBlock,Command:setblock ~5 ~ ~-1 chain_command_block 5 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ fill ~ ~ ~-5 ~ ~5 ~-5 ladder "}},{id:MinecartCommandBlock,Command:setblock ~4 ~ ~-1 chain_command_block 5 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ fill ~-5 ~ ~ ~-5 ~5 ~ ladder 4"}},{id:MinecartCommandBlock,Command:setblock ~3 ~ ~-1 chain_command_block 5 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ fill ~5 ~ ~ ~5 ~5 ~ ladder 5"}},{id:MinecartCommandBlock,Command:setblock ~3 ~-1 ~-1 chain_command_block 1 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ fill ~ ~ ~5 ~ ~5 ~5 ladder 3"}},{id:MinecartCommandBlock,Command:setblock ~4 ~-1 ~-1 chain_command_block 4 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ fill ~3 ~ ~-3 ~3 ~ ~3 lit_furnace 4 replace"}},{id:MinecartCommandBlock,Command:setblock ~5 ~-1 ~-1 chain_command_block 4 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ setblock ~-3 ~ ~-3 crafting_table 0 replace"}},{id:MinecartCommandBlock,Command:setblock ~6 ~-1 ~-1 chain_command_block 4 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ fill ~-1 ~-1 ~-1 ~1 ~-1 ~1 glowstone 0 replace"}},{id:MinecartCommandBlock,Command:setblock ~7 ~-1 ~-1 chain_command_block 4 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ fill ~-3 ~-1 ~-3 ~3 ~-1 ~3 planks 2"}},{id:MinecartCommandBlock,Command:setblock ~7 ~-1 ~ chain_command_block 2 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ fill ~-5 ~5 ~-5 ~5 ~5 ~5 stone_slab 2"}},{id:MinecartCommandBlock,Command:setblock ~6 ~-1 ~ chain_command_block 5 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ fill ~-3 ~4 ~-3 ~3 ~4 ~3 air 0"}},{id:MinecartCommandBlock,Command:setblock ~5 ~-1 ~ chain_command_block 5 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ fill ~-4 ~-1 ~-4 ~4 ~4 ~4 planks 5 hollow"}},{id:MinecartCommandBlock,Command:setblock ~4 ~-1 ~ chain_command_block 5 replace {auto:1,Command:"execute @e[name=House] ~ ~ ~ kill @e[type=Item,r=1,score_cat_min=3]"}},{id:MinecartCommandBlock,Command:setblock ~3 ~-1 ~ chain_command_block 5 replace {auto:1,Command:"execute @e[type=Item,score_cat_min=3,score_cat=3] ~ ~ ~ execute @e[type=Ozelot,score_cat_min=3,score_cat=3,r=1] ~ ~ ~ summon ArmorStand ~ ~ ~ {Invisible:1,NoGravity:1,CustomName:House}"}},{id:MinecartCommandBlock,Command:setblock ~3 ~-1 ~1 chain_command_block 2 replace {auto:1,Command:"execute @e[type=Ozelot,score_cat_min=3,score_cat=3] ~ ~ ~ scoreboard players set @e[type=Item,r=1] cat 3 {Item:{id:\\\"minecraft:planks\\\",Count:64b}}"}},{id:MinecartCommandBlock,Command:setblock ~4 ~-1 ~1 chain_command_block 4 replace {auto:1,Command:"scoreboard players set @e[type=Ozelot] cat 3 {CatType:3}"}},{id:MinecartCommandBlock,Command:setblock ~5 ~-1 ~1 chain_command_block 4 replace {auto:1,Command:"scoreboard players remove @e[score_laser_min=1] laser 1"}},{id:MinecartCommandBlock,Command:setblock ~6 ~-1 ~1 chain_command_block 4 replace {auto:1,Command:"execute @e[type=Ozelot,score_laser_min=20] ~ ~ ~ effect @e[c=1] minecraft:fire_resistance 10 10 true"}},{id:MinecartCommandBlock,Command:setblock ~7 ~-1 ~1 chain_command_block 4 replace {auto:1,Command:"execute @e[type=Ozelot,score_laser_min=20] ~ ~ ~ effect @e[c=1] 11 1 10 true"}},{id:MinecartCommandBlock,Command:setblock ~7 ~-2 ~1 chain_command_block 1 replace {auto:1,Command:"execute @e[type=Ozelot,score_laser_min=20] ~ ~ ~ execute @e[rm=1,r=3,type=!Player] ~ ~ ~ summon LightningBolt"}},{id:MinecartCommandBlock,Command:setblock ~6 ~-2 ~1 chain_command_block 5 replace {auto:1,Command:"execute @e[type=Ozelot,score_laser_min=20] ~ ~ ~ kill @e[type=Item,r=1,score_cat_min=2,score_cat=2]"}},{id:MinecartCommandBlock,Command:setblock ~5 ~-2 ~1 chain_command_block 5 replace {auto:1,Command:"execute @e[type=Ozelot,score_laser_min=20] ~ ~ ~ /particle endRod ~ ~ ~ .4 .4 .4 0 1 force"}},{id:MinecartCommandBlock,Command:setblock ~4 ~-2 ~1 chain_command_block 5 replace {auto:1,Command:"execute @e[type=Item,score_cat_min=2,score_cat=2] ~ ~ ~ scoreboard players add @e[type=Ozelot,score_cat_min=2,score_cat=2,r=1] laser 100"}},{id:MinecartCommandBlock,Command:setblock ~3 ~-2 ~1 chain_command_block 5 replace {auto:1,Command:"execute @e[type=Ozelot,score_cat_min=2,score_cat=2] ~ ~ ~ scoreboard players set @e[type=Item,r=1] cat 2 {Item:{id:\\\"minecraft:prismarine_crystals\\\"}}"}},{id:MinecartCommandBlock,Command:setblock ~3 ~-2 ~ chain_command_block 3 replace {auto:1,Command:"scoreboard players set @e[type=Ozelot] cat 2 {CatType:1}"}},{id:MinecartCommandBlock,Command:setblock ~4 ~-2 ~ chain_command_block 4 replace {auto:1,Command:"scoreboard players remove @e[score_ninja_min=1] ninja 1"}},{id:MinecartCommandBlock,Command:setblock ~5 ~-2 ~ chain_command_block 4 replace {auto:1,Command:"execute @e[type=Ozelot,score_ninja_min=20] ~ ~ ~ entitydata @e[type=!Ozelot,r=3] {Fire:60s}"}},{id:MinecartCommandBlock,Command:setblock ~6 ~-2 ~ chain_command_block 4 replace {auto:1,Command:"execute @e[type=Ozelot,score_ninja_min=20] ~ ~ ~ effect @e[c=1] 1 4 10 true"}},{id:MinecartCommandBlock,Command:setblock ~7 ~-2 ~ chain_command_block 4 replace {auto:1,Command:"execute @e[type=Ozelot,score_ninja_min=1] ~ ~ ~ kill @e[type=Item,r=1,score_cat_min=1,score_cat=1]"}},{id:MinecartCommandBlock,Command:setblock ~7 ~-2 ~-1 chain_command_block 3 replace {auto:1,Command:"execute @e[type=Ozelot,score_ninja_min=20] ~ ~ ~ particle flame ~ ~.4 ~ .2 .2 .2 0 10 force"}},{id:MinecartCommandBlock,Command:setblock ~6 ~-2 ~-1 chain_command_block 5 replace {auto:1,Command:"execute @e[type=Ozelot,score_ninja_min=20] ~ ~ ~ effect @e[c=1] 14 1 10 true"}},{id:MinecartCommandBlock,Command:setblock ~5 ~-2 ~-1 chain_command_block 5 replace {auto:1,Command:"execute @e[type=Item,score_cat_min=1,score_cat=1] ~ ~ ~ scoreboard players add @e[type=Ozelot,score_cat_min=1,score_cat=1,r=1] ninja 300"}},{id:MinecartCommandBlock,Command:setblock ~4 ~-2 ~-1 chain_command_block 5 replace {auto:1,Command:"execute @e[type=Ozelot,score_cat_min=1,score_cat=1] ~ ~ ~ scoreboard players set @e[type=Item,r=1] cat 1 {Item:{id:\\\"minecraft:blaze_rod\\\"}}"}},{id:MinecartCommandBlock,Command:setblock ~3 ~-2 ~-1 repeating_command_block 5 replace {auto:1,Command:"scoreboard players set @e[type=Ozelot] cat 1 {CatType:2}"}},{id:MinecartCommandBlock,Command:setblock ~ ~ ~1 command_block 0 replace {Command:fill ~ ~-3 ~-1 ~ ~ ~ air}},{id:MinecartCommandBlock,Command:setblock ~ ~-1 ~1 redstone_block},{id:MinecartCommandBlock,Command:scoreboard objectives add ninja dummy},{id:MinecartCommandBlock,Command:scoreboard objectives add laser dummy},{id:MinecartCommandBlock,Command:scoreboard objectives add cat dummy},{id:MinecartCommandBlock,Command:kill @e[type=MinecartCommandBlock,r=1]}]}]}]}