Resource CompatibilityAPI - backward compatibility for your plugins

Discussion in 'Spigot Plugin Development' started by koca2000, Aug 7, 2018.

?

Do you like the idea of CompatibilityAPI?

  1. Yes

    17 vote(s)
    68.0%
  2. No

    8 vote(s)
    32.0%
  1. Hi!

    I started developing CompatibilityAPI and I want to know what do you think about it. Please take a look at Github and tell me your thoughts.

    Also if you like the idea, what classes should be made as first?
     
    • Optimistic Optimistic x 2
  2. I do not think you are able to do this because of the huge differences between 1.12 and 1.13. But good luck anyways
     
  3. This is probably gonna have the same fate as Pore (for Sponge)
    Just use the new API as is
     
  4. I have made a finished material and mob wrapper for 1.12 / 1.13 as a part of my custom item API.
    https://github.com/DRE2N/CaliburnAP...ava/de/erethon/caliburn/item/VanillaItem.java
    https://github.com/DRE2N/CaliburnAP.../java/de/erethon/caliburn/mob/VanillaMob.java
    It seems to have a few more features, in case you'd like to use anything of it.

    Concerning your design, I don't really see what some things are good for. The approach to wrap Bukkit classes that are to at least 90% compatible between 1.8 and 1.13 doesn't make much sense to me. What I personally would do differently if I tried to make a util for better compatibility is to follow an approach of as few additional overhead and to replace as few native Bukkit code as possible. This can be achieved more easily through util classes than through wrappers.
     
  5. You'd have to start by not using reflection for everything. That'll seriously degrade performance.
     
  6. I am glad that I can see your opinion. You saved me many weeks of work!