Repository navigation
Enum org.bukkit.TreeType on 26.3+ doesn't implement all 3 poplar tree types #14414
Description
Expected behavior
org.bukkit.TreeType should contain all three variants of the poplar tree, as defined in SpigotMC's org.bukkit.TreeType:
RED_POPLARORANGE_POPLARYELLOW_POPLAR
Observed/Actual behavior
The TreeType enum only contains a single POPLAR constant, which I assume covers all three but for my particular scenario I need the distintion.
java.lang.NoSuchFieldError: Class org.bukkit.TreeType does not have member field 'org.bukkit.TreeType YELLOW_POPLAR'
Steps/models to reproduce
This is how I found out. I know this isn't how it's meant to be done, I run a whitelisted server with custom plugins, and to avoid altering vanilla behavior I have a separate private instance running Spigot, so any custom code I make is compiled against org.spigotmc:spigot-api:<insert appropriate MC version>.
This has never been a problem before, even on MC 1.21.11 which is already post-hardfork, or 21.1/.2 - it only started happening when I applied my custom sapling growth logic to poplar trees. I needed to tell each poplar tree type apart (so yellow, orange, red), I made my changes and tested in the Spigot server, that worked fine. Then I pushed it to production (running a fork of Paper), that's where I started seeing this:
java.lang.NoSuchFieldError: Class org.bukkit.TreeType does not have member field 'org.bukkit.TreeType YELLOW_POPLAR'
Finally, I tried with a normal Paper server, same thing. That's when I checked the API docs and saw that the same enum in Paper's API didn't match Spigot's.
Plugin and Datapack List
[02:24:07 INFO]: ℹ Server Plugins (1):
[02:24:07 INFO]: Bukkit Plugins:
[02:24:07 INFO]: - Princess
[02:24:39 INFO]: System chat: There are 2 data pack(s) enabled: [vanilla (built-in)], [paper (built-in)]
[02:24:39 INFO]: System chat: There are no more data packs available
Paper version
[02:24:06 INFO]: Checking version, please wait...
[02:24:06 INFO]: This server is running Paper version 26.3-206-main@e13b4b3 (2026-10-19T14:17:00Z) (Implementing API version 26.3.build.206-stable)
You are running the latest version
Other
I understand this may be a rather niche scenario and that's likely why it hasn't been reported yet, as I imagine this dates back to the 26.3 rc or pre-release days (or even earlier). I also understand Paper has hardforked and, as a result, no longer pulls API changes from Spigot. However, I believe it would be ideal to match Spigot's TreeType enum in this case, if only for the purposes of being able to tell the three poplar tree types apart in code.
Finally, sorry if this issue is a bit of a mess. I'll try to clean it up in the morning.
Metadata
Metadata
Assignees
Labels
Type
Fields
MC Issue
Activity