Get rid of the Spigot innerclasses

Discussion in 'Spigot Discussion' started by ysl3000, May 30, 2017.

  1. I want to get rid of the inner classes of Spigot, because they were only the possibility during Bukkit time to differentiate between Bukkit and Spigot methods. Recommend removing these classes in API 1.13.

    Everything linked beyond needs to get moved to the enclosure class and has to be deprecated in current version.

    Best regards


    PS: Are there more classes that have a inner class called Spigot comment them down below.
    #1 ysl3000, May 30, 2017
    Last edited: May 30, 2017
  2. But why? What for benefit would this give us?
  3. I don't see what they are good for...
  4. Personally i think they are pointless too.. But there isnt much we can do
  5. Personally i think they are pointless too.. But there isnt much we can do
    Spigot Banner.jpg
  6. electronicboy

    IRC Staff

    the spigot methods are there to derive between spigot only features, which; a fair chunk of those still are, or removing them would only break backwards compat, which spigot generally avoids to all heck.

    Not only would those features need porting over where needed, removing them over the space of a version is highly reckless in terms of not breaking everybody's plugins, especially over changes that I feel are somewhat more on pedantic metrics. you'd need to @deprecate them, and following bukkit deprecation policy, leave them working for a long time before you remove them and break everything that hasn't been updated

    e.g. the spigot() chat methods, are all dependent on the bungee chat API, which won't be moved into bukkit as md doesn't want 2 implementations of ChatColor in bukkit.

    Stuff that can be moved over to bukkit, ideally should be done so, however craftbukkit is more of a NMS + base patches, with Spigot being the goal, in my discussions craftbukkit is wanted to remain as it's own layer mainly there for in part of patching, that and people still use CB because of the potential breakage that spigot cases to plugins.
    • Agree Agree x 1
  7. Then moving everything that is possible out of .Spigot inner class and deprecate it. Remove it in version Minecraft 1.20