Goodie: Minecraft crafting recipes.

**What does your Instant Answer do?**
Return the crafting recipe for something that can be crafted in Minecraft.

**What problem does your Instant Answer solve (Why is it better than organic links)?**
A faster and cleaner answer.

**What is the data source for your Instant Answer? (Provide a link if possible)**
A static file.

**Why did you choose this data source?**
It contains most of the recipes.

**Are there any other alternative (better) data sources?**
No, not that I know of.

**What are some example queries that trigger this Instant Answer?**
ladder in minecraft
minecraft craft tnt

**Which communities will this Instant Answer be especially useful for? (gamers, book lovers, etc)**
Minecraft players.

**Is this Instant Answer connected to a DuckDuckHack [Instant Answer idea](https://duck.co/ideas)?**
Yes, [this](https://duck.co/ideas/idea/4535/minecraft-crafting-guide).

**Which existing Instant Answers will this one supercede/overlap with?**
None.

**Are you having any problems? Do you need our help with anything?**
- We might need to change the triggers, but I tried to avoid using regex. Open for suggestions.
- I'm not sure if you allow header tags in the HTML. I use h3 for the headline.

**Where did you hear about DuckDuckHack? (For first time contributors)**
Not my first contribution.

**What does the Instant Answer look like? (Provide a screenshot for new or updated Instant Answers)**
![minecraft-ddg](https://cloud.githubusercontent.com/assets/851595/4693734/0cf7ad34-57aa-11e4-871b-0c5d7948926e.png)


## Checklist
Please place an 'X' where appropriate.

```
[X] Added metadata and attribution information (https://duck.co/duckduckhack/metadata)
[X] Wrote test file and added to t/ directory (https://duck.co/duckduckhack/goodie_tests)
[X] Verified that instant answer adheres to design guidelines (https://duck.co/duckduckhack/design_styleguide)
[X] Verified that instant answer adheres to code styleguide (https://duck.co/duckduckhack/code_styleguide)
[\] Tested cross-browser compatibility

    Please let us know which browsers/devices you've tested on:
    - Windows 8
        [] Google Chrome
        [] Firefox
        [] Opera
        [] IE 10

    - Windows 7
        [] Google Chrome
        [] Firefox
        [] Opera
        [] IE 8
        [] IE 9
        [] IE 10

    - Windows XP
        [] IE 7
        [] IE 8

    - Mac OSX
        [] Google Chrome
        [] Firefox
        [] Opera
        [] Safari

    - iOS (iPhone)
        [] Safari Mobile
        [] Google Chrome
        [] Opera

    - iOS (iPad)
        [] Safari Mobile
        [] Google Chrome
        [] Opera

    - Android
        [X] Firefox
        [] Native Browser
        [X] Google Chrome
        [] Opera

    - Ubuntu
        [X] Firefox
        [X] Chromium
        [X] Opera
This `chop` makes me nervous, even though I can see how it always works. :grin:  I think I would keep lookup as an array of words to be joined on demand.

```perl
my @lookup;
foreach (@query) {
  return if(exists($bad_words{$_})); # Not looking for a recipe
  push (@lookup, $_) if(exists($good_words{$_})); # Word exists in a recipe, add it.
}
my $recipe = $recipes{join(' ', @lookup)} || $recipes{join(' ', grep { !$okay_words{$_} } @lookup}; # Switch okay_words to a hash like the others.

return unless $recipe; # No result with or without the okay words
```