Spigot Pull Requests

Discussion in 'Spigot Plugin Development' started by Serializator, Jun 8, 2016.

  1. Serializator


    Today I've been given access to the Spigot, Bukkit and CraftBukkit repositories after signing the CLA that's signed by all developers who want access to that part of Spigot.

    I've been looking around and finding out how everything works, and so I was looking at the three main repositories, the Spigot, Bukkit and CraftBukkit repositories. I saw that all repositories have pull requests, Spigot only 11 or something and Bukkit/CraftBukkit both have around 40/50. I've read multiple guides on how the process of making changes to Spigot works, but I'm still confused because I would think that only patch files would be pushed or something and I expected the Bukkit and CraftBukkit repositories to not have any pull requests in them.

    I hope someone can explain to me how it works, because I feel like some guides are also outdated or something. I hope for you that this old, childish, dumb mind can understand it ;-P
  2. Bukkit holds the main API. No implementations go here, and nothing that leads to mechanical changes to Vanilla behaviors. Thse are not patches as they do not contain any NMS code.

    CraftBukkit is the implementation of the Bukkit API. Anything you add to Bukkit needs to be implemented here. OCB code can be added without any patches because it is not NMS code. Anything in NMS needs to be added in patches to conform to the GPL license. Nothing that leads to changes in the Vanilla behavior can go here.

    Spigot is patches to CraftBukkit after CB has been compiled. This is where mechanical changes to Vanilla go. No source goes here, its all patches.
  3. Serializator


    I understand it now, it was quite confusing before you as an amazing person explained it to me.
    Really appreciate it!
  4. MiniDigger


    if you run into any problems join #spigot-dev or irc. the ppl there will help you.
    when setting up your ide most ppl just use the work folder of buildtools as workspace and import the spigot-api, spigot-server, bukkit and craftbukkit projects to be able to make the changes.