Skip to content

Detect failed legacy plugin conversions on Bukkit - #189

Merged
pavog merged 1 commit into
masterfrom
bukkit-legacy-plugin-conversion-problem
Nov 13, 2026
Merged

pavog merged 1 commit into
masterfrom
bukkit-legacy-plugin-conversion-problem

Conversation

@pavog

@pavog pavog commented Nov 13, 2026

Copy link
Copy Markdown
Member
[16:24:35 ERROR]: Fatal error trying to convert LegacyBrokenClass v1.0:com/repro/BrokenClass.class
java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1
	at org.bukkit.craftbukkit.util.Commodore.convert(Commodore.java:210) ~[paper-26.3.jar:26.3-248-0727243]

When CraftBukkit could not convert a class of a legacy plugin (no api-version in its plugin.yml), nothing was detected.
This PR adds a problem for it that names the plugin and suggests installing a different version or removing it.

The problem lives in Bukkit, because the message comes from CraftMagicNumbers in CraftBukkit, so Paper and Folia inherit it.
The log contains the full name of the plugin (Name v1.0), so the pattern only captures the name before v.
It extends PluginProblem to reuse PluginInstallDifferentVersionSolution and PluginRemoveSolution, and it is reported once per plugin even if several classes fail.

The warning Legacy plugin ... does not specify an api-version. is not covered here.

Changes

  • add LegacyPluginConversionProblem and register it in BukkitAnalyser
  • add the legacy-plugin-conversion-problem translation
  • add the paper-legacy-plugin-conversion-26-3.log fixture

@pavog
pavog requested a review from JulianVennen November 13, 2026 15:02
@pavog
pavog merged commit 5b66601 into master Nov 13, 2026
3 checks passed
@pavog
pavog deleted the bukkit-legacy-plugin-conversion-problem branch November 13, 2026 20:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants