Glowkit-Legacy icon indicating copy to clipboard operation
Glowkit-Legacy copied to clipboard

Add new API additions from Glowkit to Spigot's Bukkit?

Open deathcap opened this issue 9 years ago • 1 comments

Since forking from the common ancestor https://github.com/Bukkit/Bukkit circa Minecraft 1.7, GlowstoneMC's updated Bukkit (Glowkit) and SpigotMC's updated Bukkit have diverged for new API added to support 1.8.x. There is some overlap, but SpigotMC has API that GlowstoneMC does not, and GlowstoneMC has also has API that SpigotMC does not have either. So I think it would be worth considering whether some of GlowstoneMC's API enhancements could be submitted to the SpigotMC team for inclusion in their updated version of Bukkit, towards the goal of a unified common API.

This would be advantageous for Glowstone since the new APIs would gain more widespread usage, and also for plugin developers since they would be able to target both Glowstone and Spigot with the same API methods, instead of having to code separately for Glowstone and Spigot, when using >1.7 features. A win-win scenario.

SpigotMC could also have feedback before merging which could be used to improve the specific APIs in both places, providing a unified interface to both implementations. Details on their submission process at: https://hub.spigotmc.org - the readme for their specific "Bukkit API" project https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/browse says "The development team is very open to both bug and feature requests / suggestions". Worth a shot?

Here's a short list of non-conflicting (to my knowledge) APIs developed by GlowstoneMC, I believe would make sense to approach for submission to SpigotMC:

  • [ ] https://github.com/GlowstoneMC/Glowkit/commit/16cb5d67311dd2e3eb251f8b59b61351d54c155f Added cause-specific damage methods to Damageable. by @PaulBGD in https://github.com/GlowstoneMC/Glowkit/pull/33
  • [ ] https://github.com/GlowstoneMC/Glowkit/commit/6ecc1352e0526727b7031e4a2f79621a58ef840a Updated resource packs for 1.8 changes, with resource pack event. by @Aaron1011 in https://github.com/GlowstoneMC/Glowkit/pull/49
  • [ ] https://github.com/GlowstoneMC/Glowkit/commit/e2d8849d0f7aa05158ab7e90aa1bcbd124dcae13 Added MaterialData for Prismarine, Sand, and Sponge. by @SpaceManiac
  • [ ] https://github.com/GlowstoneMC/Glowkit/commit/53d3e690403e3e68d49620bc87f8b7606f941a56 Added missing effects from Minecraft 1.7. by @socram8888 in https://github.com/GlowstoneMC/Glowkit/pull/13
  • [ ] https://github.com/Tonodus/Glowkit/commit/f9a7fbab2d46d6ca5f4a154270546292761bd049 InventoryView.Property. for enchantments in 1.8 (WIP) by @Tonodus in https://github.com/GlowstoneMC/Glowkit/pull/63
  • [ ] https://github.com/GlowstoneMC/Glowkit/commit/267a795149a14250209b822ec99804c335150a56 Added MaterialData for Dirt, Stone, and DoublePlant. by @jimmikaelkael in https://github.com/GlowstoneMC/Glowkit/pull/29 https://github.com/GlowstoneMC/Glowkit/pull/30 https://github.com/GlowstoneMC/Glowkit/pull/27

Tagging the original authors since it is probably best if they submit their code to SpigotMC if they choose to do so.

This is only an initial list, might have more to add as I progress through the changes.

Note this task issue is only concerning GlowstoneMC → SpigotMC, the reverse direction SpigotMC → GlowstoneMC has a separate issue: https://github.com/GlowstoneMC/Glowkit/issues/18

deathcap avatar Apr 08 '15 06:04 deathcap

They expect you to fill out this CLA.

gdude2002 avatar Apr 08 '15 07:04 gdude2002