Spigot Plugin Development

Discussion in 'Wiki Discussion' started by jtaylor69, Mar 1, 2015.

  1. jtaylor69

    jtaylor69 Retired Moderator

    Spigot Plugin Development

    Spigot Plugin Development

    Using the Spigot-API

    This section is dedicated to Spigot plugin developers. This guide assumes that the reader has no prior modding experience in Minecraft. Hence, the guides can/should be read in a progressive order. Experienced modders, feel free to skip ahead. Where applicable, Eclipse and IntelliJ version of each guide is shown.

    - Crash Course to Java
    - Creating a blank plugin (Eclipse | IntelliJ | IntelliJ with Maven | NetBeans |...)
    - Creating offline Javadoc (optional)
    - Create and register a basic command
    - Using the Event API
    - Creating a Config File
    - Plugin debug with Eclipse
    - IntelliJ IDEA Plugin Debug
    - NoSQL/MongoDB integration with your plugin
    - MongoDB with Morphia (Easy Database Storage)
    - MySQL database integration with your plugin
    - Plugin.yml
    - Spigot API
    - Spigot Javadoc
    • Like Like x 2
  2. jtaylor69

    jtaylor69 Retired Moderator

    Thanks to @meeku for creating this section.
    Please can developers expand on the information here.
  3. It would be nice to Port/rephrase/improve stuff from the previous bukkit wikis.
  4. What information needs to be expanded?
  5. Few things:

    Switch code examples to the K&R indent style, it is the current preferred community/industry standard. (Yes it was released as the "standard" in the old archived java code conventions, but it was before Allmans started gaining popularity)

    Spacing is inconsistent on the 'Using the Event API' wiki page. Main concern is the space after an @EventHandler declaration but nowhere else with parentheses.

    The aforementioned wiki page states the incorrect order for event dispatching. LOWEST priority means firing first, as HIGHEST priority handlers have the final say on event modification.

    Neither 'Create a blank plugin' page has a maven alternative, however, if you know how to use maven, then you shouldn't need help creating a blank plugin.

    Also that should compile some threads from bukkit that described some lesser explained features of the APIs. Seeing as bukkit.org is basically dying with a terrible non-blank page response rate.
  6. #6 Yannici, Mar 25, 2015
    Last edited: Mar 30, 2015
    • Like Like x 1
  7. If someone remides me, I will add some things to the wiki
  8. thank for this post
  9. How do we get the Spigot-API.jar?
    "This guide assumes that the reader has no prior modding experience in Minecraft. Hence, the guides can/should be read in a progressive order."
    "This guide assumes that you have the Spigot-API jar file which we will use."
    Are you kidding me?
  10. Dead-i

    Wiki Team


    You can acquire a Spigot-API.jar file by running BuildTools. Please see this article for more information:

    However, it is recommended you use Maven to create your Spigot plugin instead.

    I do agree this needs clarifying in an article, though.

  11. Thanks! I added these links in the tutorial. This way, I'm 100% sure it's more clear and will help other newbies to not be discouraged by the complexity of the task.
  12. Hm... What am I supposed to do if mvn clean install doens't work on the Spigot-API?
    #14 NatoBoram, Jun 30, 2015
    Last edited: Jun 30, 2015
  13. Maybe because the Spigot API you linked is outdated. Spigot's git repositories are now hosted by themself here. Simply run buildtools, it installs spigot api into your local maven repo.
  14. What am I supposed to do with that?
  15. Love the tutorials. Can't wait to read more about the SQL database integration because I never understood how to make it happen & I would love to learn :)
  16. What does this mean? How can I fix it?

    Attached Files:

  17. Followed the instructions to the T and am having the same issue as RAGE_FC and NatoBoram

    The type com.avaje.ebean.EbeanServer cannot be resolved. It is indirectly referenced from
    required .class files.