Simple Plugin Library

Simple Plugin Library

This plugin is designed to be a base library for other plugins. It is a generic library that is still being expanded upon and aims to standardize and organize the basic functions of a plugin. Currently, it handles the following:

  • Standardized command handling and greater command organization (you can get rid of that giant if/else if statement in your CommandExecutor and use this instead)
  • Standardized GUI handling. This is still being fleshed out, and currently it allows for standardized formatting of message types and sending messages to the player in new ways (see boxed messages in the javadoc)
  • Standardized data management, including YAML and JSON files and SQL databases.
  • Easier, more organized plugin sign event handling.

the plugin will eventually handle all of the following:

  • Plugin help standardization with a (albeit simplistic) help file generator
  • Other features that are requested or I find to be needed/useful for plugins.

So, how does this work?

You can find a wiki for this here, the home page explains setup, but if you follow the link at the bottom you will find a tutorial on getting started with the plugin (said tutorial is still being added to)

The main reason I had for making this was all of the horrid command handlers I see in plugins. I believe the reason for these poorly written handlers is that the bukkit API guides you into using the CommandExecutor's onCommand() method as a catch-all statement where you can process commands.

This works much differently.

All you have to do to create a new command is create a class for the command that extends the PluginCommand class from the library. If you registered your base command with the library correctly, all the classes that extend PluginCommand will be loaded and cached on startup for use later when players run commands.

The wiki explains this in greater detail

This is kinda neat, but I'd like X added.

Email me or leave a comment, I will try to add anything and everything I feel is pertinent to a generic library such as this one.

I like this project and I'd love to help out with it.

Sure! The point of open source software is collaboration and freedom. If you think you can help contribute to the project (either with code or javadoc help) check out my bitbucket page for this project.

I'm really confused, I'm not a programmer I was just sent here by another plugin.

If a plugin relies on the bukkit plugin version of this project, then you will need to download the jar here and add it to your plugins folder in order for that plugin to run.

Have a quick setup tut for me?

You can find the setup instructions on the wiki but in case you're allergic to wikis, here:

To get started setting up the plugin library, you can use one of two options:

If you have maven, you can include it as a dependency in your pom by adding the following repo and dependency:

NOTE: THE FOLLOWING WILL NOT WORK PRESENTLY AS I AM NO LONGER HOSTED BY MINECONOMY'S JENKINS THIS WILL BE REMEDIED SHORTLY. FOR NOW PLEASE ADD AS A NON MAVEN DEPENDENCY.

<repository>
  <id>pluginlib-repo</id>
  <url>
  N/A
  </url>
</repository>
<dependency>
   <groupId>org.bitbucket.backspace119</groupId>
  <artifactId>SimplePluginLibrary</artifactId>
  <version>0.14.0-BETA</version>
  <type>jar</type>
  <scope>compile</scope>
</dependency>

If you do not have maven, you can download the plugin jar here. Then just include it as a library in your build path as you would with any other plugin. MAKE SURE TO PUT ON YOUR PAGE THAT THE SERVER MUST HAVE THE SIMPLE PLUGIN LIBRARY PLUGIN INSTALLED IF YOU FOLLOW THIS ROUTE.

This build I have is kind of old....

If you would like the latest and greatest nightlies of this library, go here

Thanks and Credit

In this library I made use of Google's java reflections library.

Also, the owner of Mineconomy helped out A LOT with all of my plugins by hosting them and thoroughly testing them. The server is also a generally good server (and runs custom plugins made by yours truly) with lots of content, and games for any style player.

To join the server, use the IP: play.mineconomy.org

To find the website: www.mineconomy.org


Comments

Posts Quoted:
Reply
Clear All Quotes

About This Project

  • Project ID
    82714
  • Created
    Jul 15, 2014
  • Last Released File
    Aug 7, 2014
  • Total Downloads
    1,447
  • License

Categories

Recent Files