Paper 26.3 Plugin Errors: AbstractMethodError, NoSuchMethodError

Published on

AbstractMethodError or NoSuchMethodError on Paper 26.3 means a plugin no longer matches the server. Read the line, find the plugin and fix it in three steps.

A grey Minecraft-style computer block with a command prompt on its screen

You updated to Paper 26.3, and now the console or a crash report starts with java.lang.AbstractMethodError or java.lang.NoSuchMethodError. Sometimes one plugin logs an error; sometimes the whole server goes down, as it did on 30 October 2026 for a server where breaking any vanilla block crashed it. Both errors come from the same place: a plugin and the server code it talks to no longer match. This guide reads both errors in real 26.3 reports, shows how to find the plugin and gives the fix order. For crash reports in general, start with our guide on how to read Minecraft crash logs.

Quick answer: A Paper 26.3 plugin crash with AbstractMethodError or NoSuchMethodError means a plugin was compiled against a different version of the server's code than the one you run. NoSuchMethodError means the plugin called a method the server no longer has in that exact form. AbstractMethodError usually means the server called a method on a plugin class that has no implementation for it. Find the plugin from the jar name before // in the trace (for example ItemsAdder.jar//). Then update it and its library plugins, check the plugin's own 26.3 support statement and issue tracker, and remove it until a fixed build exists. Restarts, more RAM or another Java version don't fix either error.

What the two errors mean

Java's own documentation defines both, and both are subclasses of IncompatibleClassChangeError:

  • NoSuchMethodError is "Thrown if an application tries to call a specified method of a class (either static or instance), and that class no longer has a definition of that method."
  • AbstractMethodError is "Thrown when an application tries to call an abstract method."

Both pages add that the compiler normally catches this, so it only happens at run time when a class definition "has incompatibly changed". On a Minecraft server that means the plugin jar was built against one version of Paper or Minecraft, and your server runs a different one. It is not a config mistake, and no setting in paper-global.yml changes it.

On a plugin server the two errors usually look like this:

NoSuchMethodErrorAbstractMethodError
Who calls whomThe plugin calls server codeServer code calls a plugin class
What is missingThat method on the server, with that exact signatureThe plugin class's implementation of a method the server expects
Class named in the messageA server class (org.bukkit.craftbukkit, net.minecraft, org.bukkit)Usually the plugin's own class
Usual fixA plugin update, sometimes a newer Paper buildA plugin update

Worked example: the ItemsAdder crash of 30 October 2026

On 30 October 2026 a server owner reported that with ItemsAdder 5.0.0-beta-4 on Paper 26.3 build 231, breaking any vanilla block crashed the whole server. The server had been updated from Paper 26.2 build 130. This is the top of the crash report in the log linked from the issue:

---- Minecraft Crash Report ----
// Everything's going to plan. No, really, that was supposed to happen.

Time: 2026-10-30 19:47:26
Description: Exception in server tick loop

java.lang.AbstractMethodError: Method itemsadder/m/bib.isAcceptingMessages()Z is abstract
	at ItemsAdder.jar//itemsadder.m.bib.isAcceptingMessages(SourceFile)
	at net.minecraft.network.PacketListener.shouldHandleMessage(PacketListener.java:29)
	at net.minecraft.network.PacketProcessor$ListenerAndPacket.handle(PacketProcessor.java:95)
	at net.minecraft.network.PacketProcessor.executeSinglePacket(PacketProcessor.java:33)
	at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1492)

Line by line:

  • Exception in server tick loop: the error reached the server's main loop, so the whole server stopped instead of one plugin logging a warning.
  • Method itemsadder/m/bib.isAcceptingMessages()Z is abstract: the class is itemsadder/m/bib, written with slashes because that is the JVM's internal form. bib is a scrambled name, since ItemsAdder ships with obfuscated class names. isAcceptingMessages is the method and ()Z its descriptor: no parameters, and Z stands for a boolean return value, as the JVM specification defines it.
  • at ItemsAdder.jar//itemsadder.m.bib...: the text before // is the name of the class loader, a format Java's StackTraceElement docs describe. Paper's source names every plugin's class loader after its jar file. So ItemsAdder.jar is a file in your plugins folder, even when the class names tell you nothing.
  • at net.minecraft.network.PacketListener.shouldHandleMessage: this is Minecraft's own network code. It treated ItemsAdder's class as a packet listener and asked whether it accepts messages. That build of ItemsAdder had no body for the method, so the call failed.

Further down, the -- System Details -- section lists every plugin with its version and author on one line, here ItemsAdder v5.0.0-beta-4 dev.lone.itemsadder.Main [LoneDev]. That is the version to put in a bug report.

On 31 October an ItemsAdder collaborator replied that the developer had released an update, and on 1 November the reporter confirmed "the bug is fixed". No setting could have fixed it; the update did.

The same error has a second, longer wording. An ItemsAdder issue from 17 September on Purpur 26.3 shows it:

java.lang.AbstractMethodError: Receiver class itemsadder.m.aoa does not define or inherit an implementation of the resolved method 'abstract boolean isValidTarget(net.minecraft.world.level.LevelReader, net.minecraft.core.BlockPos)' of abstract class net.minecraft.world.entity.ai.goal.MoveToBlockGoal.

Same meaning, spelled out: the plugin's class aoa extends Minecraft's mob AI class MoveToBlockGoal and lacks the isValidTarget method that class requires. That issue was still open on 3 November 2026.

Reading a NoSuchMethodError line

A NoSuchMethodError quotes the full signature of the method the plugin tried to call. This one comes from a BigDoors report of 4 October 2026 on Paper 26.3 build 147, where doors stopped moving:

java.lang.NoSuchMethodError: 'void org.bukkit.craftbukkit.CraftWorld.addEntityToWorld(net.minecraft.world.entity.Entity, org.bukkit.event.entity.CreatureSpawnEvent$SpawnReason)'
        at BigDoors.jar//nl.pim16aap2.bigDoors.NMS.CustomEntityFallingBlock_V26_3_R1.spawn(CustomEntityFallingBlock_V26_3_R1.java:58) ~[?:?]

Read the quoted part from left to right: the return type (void), the class (org.bukkit.craftbukkit.CraftWorld), the method (addEntityToWorld) and its parameter types in brackets. The JVM looks a method up by its name and its descriptor, and the descriptor includes the parameter types and the return type (JVM specification, section 5.4.3.3). So a method that still exists with one changed parameter or a different return type counts as missing too.

The package of that class tells you which part of the server the plugin depends on:

  • org.bukkit.craftbukkit or net.minecraft: server internals, not the API. Paper's userdev docs call paperweight-userdev "the only supported way of accessing server internals". Plugins that use internals usually carry one module per Minecraft version, which is what the V26_3_R1 in BigDoors' class names is.
  • org.bukkit or io.papermc.paper without craftbukkit: the API that plugins are meant to use. The plugin expects an API method in a form your server build does not have.

The BigDoors case shows why "supports 26.3" in a changelog is not the end of the story. Version 0.1.8.71 of 27 September added support for 26.3. A week later it failed on Paper 26.3 build 147, a beta build at the time. In the fix, BigDoors' developer wrote that Paper had removed a method, and 0.1.8.72 came out the same day. Internals can change between builds of the same Minecraft version.

Sometimes the server is the one behind

It also works the other way round. FastAsyncWorldEdit failed at startup with this line, quoted in the fix pull request:

java.lang.NoSuchMethodError: 'boolean net.minecraft.world.level.material.FluidState.is(net.minecraft.world.level.material.Fluid)'

The pull request explains that FluidState#is(Fluid) exists only in newer Paper code and is missing on "Leaf 26.3 or earlier Paper builds". Here the plugin was newer than the server: on an older Paper build, updating Paper adds the method, and FAWE has since merged this pull request so it no longer needs it. The original report, on FAWE 2.16.1, shows a trap too: its console showed NoClassDefFoundError: Could not initialize class com.sk89q.worldedit.world.block.BlockTypesCache inside a WorldGuard event, a follow-up of FAWE failing at startup. Scroll up in logs/latest.log to the first error. And name your real server software when you report; a FAWE team member's first reply was "Leaf is not Paper."

How to find the plugin in the stack trace

  1. Look for Paper's wrapper line. Paper's own messages name the plugin and its version. In Paper's source they read Error occurred while enabling <plugin> v<version> (Is it up to date?) at startup, after which Paper disables that plugin, Could not pass event <event> to <plugin> v<version> for an event listener, and Task #<number> for <plugin> v<version> generated an exception for a scheduled task.
  2. Read the jar names. Every frame that starts with Something.jar// runs code from that plugin. In the console log, frames that end in [paper-26.3.jar:...] are Paper itself. Paper's troubleshooting page is plain about the next step: "If you find any plugin's name in a stack trace in your logs, head to Check Plugin Updates."
  3. Watch for shaded. A package such as be.isach.ultracosmetics.shaded.mobchip is a library the plugin bundled and renamed inside its own jar, which is what the Maven Shade plugin does. In this UltraCosmetics report on Paper 26.3 build 227, the failing frames run through such a library's v26_1 and v26_2 classes, code written for older versions, so only UltraCosmetics can ship a fixed copy. The issue was open on 3 November 2026.
  4. Check whether the top class belongs to the server. In an mcMMO report on 26.3, the error named a Minecraft class: Method net/minecraft/world/item/crafting/BrewingRecipe.toBukkitRecipe(...) is abstract. mcMMO's fix commit explains that Spigot 26.3 has no Bukkit counterpart for the new data-driven brewing recipes, and that "Paper servers were not affected". mcMMO 2.3.002 works around it. When the class in an AbstractMethodError is the server's own, the gap is in the server software, so check which server jar and build you run before you blame the plugin.

Two console commands help. plugins lists every plugin, green when enabled and red when not. version shows your Paper build and whether a newer one exists, and version ItemsAdder shows that plugin's version, website and authors.

The fix order

Make a backup before you change anything. On Space-Node's Minecraft plans you make it yourself in the panel, and you swap plugin jars through the web file manager or SFTP.

1. Update the plugin, its libraries and Paper

Download the newest build from the plugin's official download page, not a mirror. Paper's troubleshooting page also tells you to update library plugins such as ProtocolLib, because an outdated library can break the plugins that use it. Then run version: if Paper reports a newer build, install that too, since the FAWE case shows a plugin can need a newer server build. When we checked on 3 November 2026, Paper's newest 26.3 build was 238, from 2 November. Start the server and watch the console until it has finished loading.

2. Check the plugin's own 26.3 support statement

Look at the version list on the plugin's page (Modrinth, Hangar, SpigotMC or its GitHub releases) and at its changelog for 26.3. Then search its issue tracker for the method name from your error, such as isAcceptingMessages or addEntityToWorld. If someone already reported it, add your details there. If not, open an issue with:

  • the version output, including the Paper build;
  • the plugin's exact version;
  • the full log, uploaded to a paste site such as mclo.gs, not a screenshot;
  • what you did right before the error.

Send it to the plugin's author, not to PaperMC, unless the top class in an AbstractMethodError is a server class on plain Paper.

3. Remove it until a fixed build exists

Move the plugin's jar out of plugins, for example into a plugins-disabled folder next to it, and restart. Check that plugins depending on it still load, or move them as well. If you can't tell which plugin breaks the server, Paper's troubleshooting page describes a binary search: disable half of the plugins (keeping dependencies together), test, and repeat with the half that holds the problem. Do that on a test server rather than the live one.

If the server can't run without that plugin, the only way back is the backup from before the update. PaperMC warns that a world upgraded to 26.3 cannot be downgraded, and Paper's download service lists 26.2 as deprecated, so going back buys time, not a fix. Our 26.3 update guide has the full update checklist.

What does not help: restarting (the same jars load the same classes), more RAM, or another Java version. A wrong Java version shows up as UnsupportedClassVersionError, which is a different error.

FAQ

What does java.lang.AbstractMethodError mean on a Minecraft server? Something called a method that has no implementation. On a Paper server it usually means a plugin class extends or implements a Minecraft or Paper class whose required methods changed, and the plugin build has not caught up. Update the plugin.

What causes NoSuchMethodError in a Paper plugin? The plugin calls a method that the server no longer has with that exact name, parameter types and return type. The 26.3 cases above all involve server internals (org.bukkit.craftbukkit or net.minecraft). Sometimes the plugin is newer than your server build, so update both.

Is it Paper's fault or the plugin's? Usually the plugin's. Paper's own troubleshooting advice is to check for plugin updates when a plugin's name appears in a stack trace. The exception is an AbstractMethodError that names a server class with no plugin in the top frames, as in the mcMMO case on Spigot.

My plugin says it supports 26.3. Why does it still throw NoSuchMethodError? A support statement covers the builds the developer tested. BigDoors 0.1.8.71 added 26.3 support and still failed on a later Paper build after a server method was removed; 0.1.8.72 fixed it the same day. Update, and report your Paper build number if it still fails.

Can I go back to 26.2 to keep a plugin working? Only by restoring a backup from before the update. PaperMC says a world upgraded to 26.3 cannot be downgraded, and Paper's download service marks 26.2 as deprecated, so plan on updating or replacing the plugin.

Sources

All opened on 3 November 2026: