Expected behavior
When compiling against Paper 26.1.2 (or before) using the BookMeta#pages setter methods should also work on a 26.2 server since it is api.
Observed/Actual behavior
[17:35:25 INFO]: TheosRee issued server command: /bookmetatest getter
[17:35:29 INFO]: TheosRee issued server command: /bookmetatest setterArray
[17:35:29 ERROR]: Command exception: /bookmetatest setterArray
java.lang.NoSuchMethodError: 'net.kyori.adventure.inventory.Book org.bukkit.inventory.meta.BookMeta.pages(net.kyori.adventure.text.Component[])'
at TR-Test.jar//de.ree.theos.Test$1.execute(Test.java:69) ~[?:?]
at io.papermc.paper.command.brigadier.bukkit.BukkitCommandNode$BukkitBrigCommand.run(BukkitCommandNode.java:83) ~[paper-26.2.jar:26.2-20-2c0341f]
at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~[brigadier-1.3.10.jar:?]
at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:30) ~[paper-26.2.jar:26.2-20-2c0341f]
[…more stack trace]
[17:35:33 INFO]: TheosRee issued server command: /bookmetatest setterList
[17:35:33 ERROR]: Command exception: /bookmetatest setterList
java.lang.NoSuchMethodError: 'net.kyori.adventure.inventory.Book org.bukkit.inventory.meta.BookMeta.pages(java.util.List)'
at TR-Test.jar//de.ree.theos.Test$1.execute(Test.java:68) ~[?:?]
at io.papermc.paper.command.brigadier.bukkit.BukkitCommandNode$BukkitBrigCommand.run(BukkitCommandNode.java:83) ~[paper-26.2.jar:26.2-20-2c0341f]
at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~[brigadier-1.3.10.jar:?]
at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:30) ~[paper-26.2.jar:26.2-20-2c0341f]
[…more stack trace]
Steps/models to reproduce
getServer().getCommandMap().register("ignored", new Command("bookmetatest") {
@Override
public boolean execute(final CommandSender sender, final String label, final String[] args) {
final ItemStack book = ItemStack.of(Material.WRITTEN_BOOK);
final BookMeta meta = (BookMeta) book.getItemMeta();
switch (args[0]) {
case "getter" -> meta.pages();
case "setterList" -> meta.pages(List.of());
case "setterArray" -> meta.pages(Component.empty());
}
return true;
}
});
targetting the following version or any before down to like 1.18
<dependency>
<groupId>io.papermc.paper</groupId>
<artifactId>paper-api</artifactId>
<version>26.1.2.build.72.stable</version>
<scope>provided</scope>
</dependency>
Plugin and Datapack List
The test plugin
Paper version
This server is running Paper version 26.2-20-dev/26.2@2c0341f (2026-06-17T19:31:24Z) (Implementing API version 26.2.build.20-alpha)
You are 28 version(s) behind
Download the new version at: https://papermc.io/downloads/paper
Previous version: 26.2-19-80d1098 (MC: 26.2)
This server is running Paper version 26.2-48-main@87c4d42 (2026-07-04T14:09:05Z) (Implementing API version 26.2.build.48-alpha)
You are running the latest version
Previous version: 26.2-20-2c0341f (MC: 26.2)
Other
it is since https://fill-ui.papermc.io/projects/paper/version/26.2?build=20 with
2c0341f#diff-e0871225f23971b54756b88cbe0d16e1aa4995d857a5d0c56aa7c18e904f647eL17-R20
I asked on Discord and it was suggested to open the issue in Paper instead Adventure because it is an Item-/BookMeta issue and should probably get an api-version rewrite.
Expected behavior
When compiling against Paper 26.1.2 (or before) using the BookMeta#pages setter methods should also work on a 26.2 server since it is api.
Observed/Actual behavior
[17:35:25 INFO]: TheosRee issued server command: /bookmetatest getter
[17:35:29 INFO]: TheosRee issued server command: /bookmetatest setterArray
[17:35:29 ERROR]: Command exception: /bookmetatest setterArray
java.lang.NoSuchMethodError: 'net.kyori.adventure.inventory.Book org.bukkit.inventory.meta.BookMeta.pages(net.kyori.adventure.text.Component[])'
at TR-Test.jar//de.ree.theos.Test$1.execute(Test.java:69) ~[?:?]
at io.papermc.paper.command.brigadier.bukkit.BukkitCommandNode$BukkitBrigCommand.run(BukkitCommandNode.java:83) ~[paper-26.2.jar:26.2-20-2c0341f]
at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~[brigadier-1.3.10.jar:?]
at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:30) ~[paper-26.2.jar:26.2-20-2c0341f]
[…more stack trace]
[17:35:33 INFO]: TheosRee issued server command: /bookmetatest setterList
[17:35:33 ERROR]: Command exception: /bookmetatest setterList
java.lang.NoSuchMethodError: 'net.kyori.adventure.inventory.Book org.bukkit.inventory.meta.BookMeta.pages(java.util.List)'
at TR-Test.jar//de.ree.theos.Test$1.execute(Test.java:68) ~[?:?]
at io.papermc.paper.command.brigadier.bukkit.BukkitCommandNode$BukkitBrigCommand.run(BukkitCommandNode.java:83) ~[paper-26.2.jar:26.2-20-2c0341f]
at com.mojang.brigadier.context.ContextChain.runExecutable(ContextChain.java:73) ~[brigadier-1.3.10.jar:?]
at net.minecraft.commands.execution.tasks.ExecuteCommand.execute(ExecuteCommand.java:30) ~[paper-26.2.jar:26.2-20-2c0341f]
[…more stack trace]
Steps/models to reproduce
targetting the following version or any before down to like 1.18
Plugin and Datapack List
The test plugin
Paper version
This server is running Paper version 26.2-20-dev/26.2@2c0341f (2026-06-17T19:31:24Z) (Implementing API version 26.2.build.20-alpha)
You are 28 version(s) behind
Download the new version at: https://papermc.io/downloads/paper
Previous version: 26.2-19-80d1098 (MC: 26.2)
This server is running Paper version 26.2-48-main@87c4d42 (2026-07-04T14:09:05Z) (Implementing API version 26.2.build.48-alpha)
You are running the latest version
Previous version: 26.2-20-2c0341f (MC: 26.2)
Other
it is since https://fill-ui.papermc.io/projects/paper/version/26.2?build=20 with
2c0341f#diff-e0871225f23971b54756b88cbe0d16e1aa4995d857a5d0c56aa7c18e904f647eL17-R20
I asked on Discord and it was suggested to open the issue in Paper instead Adventure because it is an Item-/BookMeta issue and should probably get an
api-versionrewrite.