Skip to content

Enum org.bukkit.TreeType on 26.3+ doesn't implement all 3 poplar tree types #14414

Closed

Description

@BetTD

Expected behavior

org.bukkit.TreeType should contain all three variants of the poplar tree, as defined in SpigotMC's org.bukkit.TreeType:

  • RED_POPLAR
  • ORANGE_POPLAR
  • YELLOW_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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    status: acceptedDisputed bug is accepted as valid or Feature accepted as desired to be added.version: 26.3Game version 26.3

    Type

    Fields

    MC Issue

    None yet

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions