En realidad no hay forma de saber si el jugador dejo de leer un libro, pero hay un scoreboard que detecta cuando lo empieza a leer un libro, sabiendo que el tiempo (en el juego) se detiene cuando estas leyendo uno, puedes detectar cuando lo dejo de leer ya que el tiempo prosigue y empieza a detectar los comandos. Ya habiendo aclarado esto prosigamos, el siguiente scoreboard detecta cuando lees el libro, o usas el libro respectivamente:
/scoreboard objectives add Leer stat.useItem.minecraft.written_book
En este caso, al scoreboard lo llame "Leer", con esto me ayuda explicar con más facilidad.
Ya habiendo agregado el scoreboard, sólo nos queda detectarlo a través de un testfor:
/testfor @a[score_Leer_min=1,score_Leer=1]
Esto lo que hace es detectar cuando usas el libro, pero como el tiempo se detiene al empezar a leerlo, al terminar, este empieza a detectarlo.
Ahora, este scoreboard detecta
cualquier libro que lea, ahora te explicare como hacerlo con un libro específico.
- Primero agregamos un scoreboard de tipo dummy, este nos ayudará en algo que veremos a continuación. En este caso lo llamare LE:
/scoreboard objectives add LE dummy
- Luego de agregarlo, este nos ayudara a dar un punto cuando sea detectado un libro especifico. Ahora el comando sería el siguiente:
/scoreboard players set @a LE 1 {SelectedItem:[{id:minecraft:written_book,tag:{display:{Name:"Libro"}}}]}
En este comando, detecta un libro con el nombre "Libro".
- Ahora necesitamos detectar cuando se uso el libro, para eso necesitamos un execute:
/execute @a[score_LE_min=1,score_LE=1] ~ ~ ~ /testfor @a[score_Leer_min=1,score_Leer=1]
Como te habrás dado cuenta el scoreboard anterior hace que funcione solamente cuando tenemos un punto, es decir, que estamos usando ese item.
- Finalmente necesitamos los comandos que reinicie el scoreboard "Libro", pero debes saber que con cualquier libro el scoreboard sumará punto, a la hora de hacer los comandos es algo que debes estar muy pendiente. Para reiniciarlo sería lo siguiente:
/scoreboard players reset @a Libro
Eso ha sido todo, si tiene alguna otra duda, con mucho gusto estamos a la orden.