Skip to content

[Bug] IllegalArgumentException on startup: API version parsing fails on Paper builds containing text (e.g., '26.1.2.build.65') #55

Description

@Myszku

The plugin fails to initialize on startup when running on newer Paper builds that include additional text in their API version string (specifically the .build. suffix).

The version parser in ServerVersion.java expects strict numeric formats (major.minor.patch), but the server provides '26.1.2.build.65', which causes an IllegalArgumentException and prevents the plugin from loading.

Server Version: 26.1.2.build.65 (PaperMC 26.1.2 #65)
Plugin Version: ore-control v2026.05.16

[11:15:46] [Server thread/INFO]: [ore-control] Loading server plugin ore-control v2026.05.16 [11:15:46] [Server thread/ERROR]: [ore-control] Error initializing plugin 'ore-control-2026.05.16 (1).jar' in folder 'plugins' (Is it up to date?) java.lang.IllegalArgumentException: API version string should be of format "major.minor.patch" or "major.minor", where "major", "minor" and "patch" are numbers. For example "1.18.2" or "1.13", but got '26.1.2.build.65' instead. at ore-control-2026.05.16 (1).jar//de.derfrzocker.ore.control.utils.version.ServerVersion.getOrCreateVersion(ServerVersion.java:100) ~[?:?] at ore-control-2026.05.16 (1).jar//de.derfrzocker.ore.control.utils.version.ServerVersion.getCurrentVersion(ServerVersion.java:83) ~[?:?] at ore-control-2026.05.16 (1).jar//de.derfrzocker.ore.control.OreControl.onLoad(OreControl.java:105) ~[?:?] at io.papermc.paper.plugin.storage.ServerPluginProviderStorage.processProvided(ServerPluginProviderStorage.java:59) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at io.papermc.paper.plugin.storage.ServerPluginProviderStorage.processProvided(ServerPluginProviderStorage.java:18) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at io.papermc.paper.plugin.storage.SimpleProviderStorage.enter(SimpleProviderStorage.java:39) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.enter(LaunchEntryPointHandler.java:39) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:553) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:336) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1291) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:304) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at java.base/java.lang.Thread.run(Thread.java:1474) ~[?:?]

After manually bypassing the version parsing issue by editing code, the plugin successfully initializes but immediately throws a NoSuchMethodError during the onEnable phase. It seems the method CraftBlockData.fromData(BlockState) no longer exists or has been remapped in the NMS mappings for 26.1.2.

[11:20:33] [Server thread/INFO]: [ore-control] Enabling ore-control v2026.05.16 [11:20:33] [Server thread/ERROR]: Error occurred while enabling ore-control v2026.05.16 (Is it up to date?) java.lang.NoSuchMethodError: 'org.bukkit.craftbukkit.block.data.CraftBlockData org.bukkit.craftbukkit.block.data.CraftBlockData.fromData(net.minecraft.world.level.block.state.BlockState)' at ore-control-2026.05.16edited.jar//de.derfrzocker.ore.control.impl.v26_1_base.feature.generator.OreConfigurationGeneratorHook.createDefaultConfiguration(OreConfigurationGeneratorHook.java:112) ~[?:?] at ore-control-2026.05.16edited.jar//de.derfrzocker.ore.control.impl.v26_1_base.NMSReplacer_v26_1_base.saveFeature(NMSReplacer_v26_1_base.java:345) ~[?:?] at ore-control-2026.05.16edited.jar//de.derfrzocker.ore.control.impl.v26_1_base.NMSReplacer_v26_1_base.saveWorldValues(NMSReplacer_v26_1_base.java:275) ~[?:?] at ore-control-2026.05.16edited.jar//de.derfrzocker.ore.control.impl.v26_1_base.NMSReplacer_v26_1_base.saveDefaultValues(NMSReplacer_v26_1_base.java:237) ~[?:?] at ore-control-2026.05.16edited.jar//de.derfrzocker.ore.control.OreControl.onEnable(OreControl.java:145) ~[?:?] at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:279) ~[paper-api-26.1.2.build.65-stable.jar:?] at io.papermc.paper.plugin.manager.PaperPluginInstanceManager.enablePlugin(PaperPluginInstanceManager.java:207) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.enablePlugin(PaperPluginManagerImpl.java:109) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:520) ~[paper-api-26.1.2.build.65-stable.jar:?] at org.bukkit.craftbukkit.CraftServer.enablePlugin(CraftServer.java:637) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:594) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:337) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1291) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:304) ~[paper-26.1.2.jar:26.1.2-65-fd45f4b] at java.base/java.lang.Thread.run(Thread.java:1474) ~[?:?]

Metadata

Metadata

Assignees

No one assigned

    Labels

    In-Dev-BuildShows that the issue was addressed in a dev buildbugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions