The command /gamerule doTileDrops false seems not to work if executed through a written book. Here my command to give you the book, it should be right, but it apparently it even sets it to true instead. It actually runs the previous command.
give @p written_book 1 0 {title:"Commands",author:"Me",resolved:0b,pages:["{text:\"\n\n\n\n\n Commands\",color:dark_blue,bold:true}","{text:\"Gamerules\",color:blue,bold:true,extra:[{text:\"\n\n Daylight cycle\",bold:false,color:black,extra:[{text:\"\n True\",bold:true,color:green,clickEvent:{action:run_command,value:\"/gamerule doDaylightCycle true\"},extra:[{text:\" False\",bold:true,color:dark_red,clickEvent:{action:run_command,value:\"/gamerule doDaylightCycle false\"},extra:[{text:\"\n Commandblock Output\",bold:false,color:black,extra:[{text:\"\n True\",bold:true,color:green,clickEvent:{action:run_command,value:\"/gamerule commandBlockOutput true\"},extra:[{text:\" False\",bold:true,color:dark_red,clickEvent:{action:run_command,value:\"/gamerule commandBlockOutput false\"},extra:[{text:\"\n Mob Griefing\",bold:false,color:black,extra:[{text:\"\n True\",bold:true,color:green,clickEvent:{action:run_command,value:\"/gamerule mobGriefing true\"},extra:[{text:\" False\",bold:true,color:dark_red,clickEvent:{action:run_command,value:\"/gamerule mobGriefing false\"},extra:[{text:\"\n Mob Spawning\",bold:false,color:black,extra:[{text:\"\n True\",bold:true,color:green,clickEvent:{action:run_command,value:\"/gamerule doMobSpawning true\"},extra:[{text:\" False\",bold:true,color:dark_red,clickEvent:{action:run_command,value:\"/gamerule doMobSpawning false\"},extra:[{text:\"\n Mob Loot\",bold:false,color:black,extra:[{text:\"\n True\",bold:true,color:green,clickEvent:{action:run_command,value:\"/gamerule doMobLoot true\"},extra:[{text:\" False\",bold:true,color:dark_red,clickEvent:{action:run_command,value:\"/gamerule doMobLoot false\"},extra:[{text:\"\n Tile drops\",bold:false,color:black,extra:[{text:\"\n True\",bold:true,color:green,clickEvent:{action:run_command,value:\"/gamerule doTileDrops true\"},extra:[{text:\" False\",bold:true,color:dark_red,click_Event:{action:run_command,value:\"/gamerule doTileDrops false\"}}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}]}"]}
the only important part is the last command, this is just to make recreation easier
Linked issues
Comments 5
Can confirm, but only using the given command. My command book (made with @unknown's generator) works fine.
Invalid; the last section is using "click_Event" instead of the required "clickEvent" for the name of the tag.
The "extra" tag is a list of text components and should be used as such, rather than having a huge amount of unnecessary nesting. Fixed command, removing nesting (saving ~500 characters) and updated to 1.9:
/give @p minecraft:written_book 1 0 {title:"Commands",author:"Me",resolved:0b,pages:["{\"text\":\"\n\n\n\n\n Commands\",\"color\":\"dark_blue\",\"bold\":true}","[\"\",{\"text\":\"Gamerules\",\"color\":\"blue\",\"bold\":true},\"\n\n Daylight cycle\",{\"text\":\"\n True\",\"color\":\"green\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamerule doDaylightCycle true\"}},{\"text\":\" False\",\"color\":\"dark_red\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamerule doDaylightCycle false\"}},\"\n Commandblock Output\",{\"text\":\"\n True\",\"color\":\"green\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamerule commandBlockOutput true\"}},{\"text\":\" False\",\"color\":\"dark_red\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamerule commandBlockOutput false\"}},\"\n Mob Griefing\",{\"text\":\"\n True\",\"color\":\"green\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamerule mobGriefing true\"}},{\"text\":\" False\",\"color\":\"dark_red\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamerule mobGriefing false\"}},\"\n Mob Spawning\",{\"text\":\"\n True\",\"color\":\"green\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamerule doMobSpawning true\"}},{\"text\":\" False\",\"color\":\"dark_red\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamerule doMobSpawning false\"}},\"\n Mob Loot\",{\"text\":\"\n True\",\"color\":\"green\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamerule doMobLoot true\"}},{\"text\":\" False\",\"color\":\"dark_red\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamerule doMobLoot false\"}},\"\n Tile drops\",{\"text\":\"\n True\",\"color\":\"green\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamerule doTileDrops true\"}},{\"text\":\" False\",\"color\":\"dark_red\",\"bold\":true,\"clickEvent\":{\"action\":\"run_command\",\"value\":\"/gamerule doTileDrops false\"}}]"]}
Confirmed for the given command (for 1.8), for some reason it is still true after using this