The bug
You get the recipe for cartography tables when you first get a string in your inventory. This seems odd, as string actually isn't used in the cartography table's crafting recipe. This probably is just a copy-paste error from the recipe file for the loom.
You can look into the game files to confirm that this bug exists.
data/minecraft/advancements/recipes/decorations/cartography_table.json
{
"parent": "minecraft:recipes/root",
"rewards": {
"recipes": [
"minecraft:cartography_table"
]
},
"criteria": {
"has_string": {
"trigger": "minecraft:inventory_changed",
"conditions": {
"items": [
{
"item": "minecraft:string"
}
]
}
},
"has_the_recipe": {
"trigger": "minecraft:recipe_unlocked",
"conditions": {
"recipe": "minecraft:cartography_table"
}
}
},
"requirements": [
[
"has_string",
"has_the_recipe"
]
]
}To reproduce
Create a new world
Run
/give @s paperYou don't get the cartography table recipe
Run
/give @s oak_planksYou don't get the cartography table recipe
Run
/give @s string❌ You get the cartography table recipe
Confirmed for 1.14.3.