What is SimpleAPI?
- Tested Minecraft Versions:
SimpleAPI is a small api that will handle a lot of the NMS and other tasks that my plugins will need.
It's an API, but will owners be able to do anything?
Yes, there are commands that allow owners to use most of the plugins tasks. I have also added a LightLevelDetector item, which is craftable and permission(Perm: "SimpleAPI.lightdetector.use") based to use (Put a Torch and a Stick in a crafting menu.[It gets the light level of the top of the block and tells you information about what can and cannot happen]).
I don't want the other stuff, I just want the API:
- Well if you prefer you can disable the other stuff by going in the Language.yml and changing "API-Only" to true. Now if you are asking why its not disabled by default, well here is why. They are enabled by default to 1: Show off the cool features 2: For You to use as Utilities
Q. My server Lags when I startup my server how can I fix?
A. Turn off the Non-API features that will remove some Tasks from the startup, You can also try disabling the BStats Plugin Metrics in the bstats folder.
Q. Why do a lot of your plugins require this?
A. Alot of my plugins require this mostly due to the classes they share, including the Plugin Update Alerter (they all share it so its not Spammy in your chat when you log in and see a bunch of messages ), This is also to keep it all similar and keep the code always updated without having to update the other plugins a whole lot (So all I have to do is update code on one plugin and not 7 or so other plugins that have different structures)
Q. The plugin breaks when I reload my server (With "/reload" or "/plugman reload")
A. You should never use those to reload plugins, They always break and if you are using /reload there is even a warning that has been there for a long time saying it MIGHT break plugins, a lot of plugins break when you reload them because they have to load a certain way, Like SimpleAPI has to load before SimplePets and all the other plugins configured inside the Plugin.yml
Q. Why does this API do so much, isn't an API just suppose to have classes for Plugins to use?
A. I made this plugin an API because my plugins are using it, and I made it available for everyone to use. This "API" does more than an API should, Yes that I agree on, but it has all this stuff to be beneficial to you or your servers, If you would like you can open the "Language.yml" file and make "API-Only" to true Then Restart your server.
Please don't post a bad review if you don't like the extra features, they CAN be disabled they are only optional -.-
What is in the API?
Well here is a link to the JavaDocs of what the plugin has.
Commands (So far):
Code (Text):/action <player> <message> --- This command allows players with the "SimpleAPI.command.action" permission to send a message above players hotbar (Hover over the usage in-game to see more data).
/tab <player> <header> [footer] --- This command allows players with the "SimpleAPI.command.tab" permission to set the header and or footer message in tab (Hover over the usage in-game to see more data).
/titlemaker <player> <title> [subtitle--- This command allows players with the "SimpleAPI.command.title" permission to send a title message without the finicky JSON text format (Hover over the usage in-game to see more data).
/particlemaker <particlename> <amount> [offset,offsetY,offsetZ] --- Used to send particles at your location [Permision: "SimpleAPI.command.particle"] (Hover over the usage in-game to see more data).
/compass <player> <x> <y> <z> --- Points ANY compass the players holds to the coordinates set in the X,Y,Z arguments
/firework --- Launches a random firework [Permission: "SimpleAPI.command.firework"]
/armorcolor <r> <g> <b> --- Gives you a full set of RGB colored Leather armor [Permission: "SimpleAPI.command.armorcolor"]
/history <username> --- Searches for the past/current username(s) of the selected player [Permission: "SimpleAPI.command.history"]
What plugins use this API?:
How to use Some features demo:
How to use the AnnotatedConfig class:
If you wana see an Example/TestConfig class to show what you can do with the class feel free to look at the example HERE
What are some of the API features?(See the JavaDocs to see all the features)
Developers can use the "ITellraw, IActionMessage, IClearGoals, IGlow, IPathfinderGoal, ITitleMessage, ITileEntitySkull, ITabMessage, IParticlePacket, IAnvilGui, SpigotPluginHandler (Update notifier & Metrics), Reflection (Also used to get the Classes before the SpigotPluginHandler), ParticleAPI, PageMaker<T>, AdvMap (Better HashMap/Map class), Lore (Just a simple version of a List<T>), CompassMaker, LeatherArmorMaker (Used to make colored leather armor with ease), ItemMaker (Used to make Items with ease), SkullMaker (Used to make skulls with ease [Player name skulls or minecraft skin urls])", and MORE!!!!
Note: If your server version is not supported, then some features will not work (some of them have fallback support [e.g: ITellraw,IActionMessage, and ITitleMessage -> will send as a ChatMessages])
More features will be added/changed as the plugin grows ( Note: that any updates I do to my plugins will use this API because it makes the code look nicer )
[1.8.8 -> 1.12] Little api to do awesome tasks E.G. NameHistory