RPGOverheadRPG Overhead version 1.0Download RPGOverhead.jarDue to the many different RPG-style plugins out there, there is little chance you can get any of them compatible. Now with my new RPGOverhead plugin, adding compatibility can be as painless as adding 3 lines of code! This way players can choose their own plugins and expansions without having to add tons of other plugins for compatibility.RPG Overhead features:Any plugin can easily hook into the RPG-Overhead and be compatible with all other hooked plugins. Very painless integration for your plugin Lightweight compatibility ANY future plugins hooking into the overhead will be compatible with your plugin without having to change anything All players charaters types will be saved between server starts and stops Configuration: Right now there is little configuration you can do, but there is something! Modifiers.Night.Random_Transform adds a random transform to all plugins. If, let's say, you would turn to a bat at night, the random transform adds an extra dimension to it by not letting all players transform at exactly the same moment Modifiers.Night.Resolution is very important if you experiance lagg. By setting a higher number at this node the plugins will update less often and leave some time for other plugins. Developers: Show developer content (Move your mouse to reveal the content) Show developer content (open) Show developer content (close) Adding support to RPGOverhead can be really easy or can even add extra features to your plugin without too much effort. Just follow these simple steps: Include RPGOverhead.jar to your libraries Instead of extending JavaPlugin in you main class, extend RPGPlugin Instead of using onEnable/onDisable, use onRPGEnable/onRPGDisable If you return false in the hasTransformation() function, you can leave the other functions empty (more info below) Whenever you change a player to your class type, call the function makeCharacterType(Player) where Player is the player you wan't to change. The function will return true if it succesfully changed, or return false if it didn't. Use unmakeCharacterType(Player) to do the opposite Optionally, you can add any of the following to extend your plugins features: Check type (Move your mouse to reveal the content) Check type (open) Check type (close) use the function isCharacterType(Player) to check whether Player is your character type Timed update (Move your mouse to reveal the content) Timed update (open) Timed update (close) Override the update() function to update your plugin. By doing this, slower servers will call this function less often while faster servers call this function more often. This way your plugin will cause minimal lagg on the server. Multiple character types at once (Move your mouse to reveal the content) Multiple character types at once (open) Multiple character types at once (close) You can easily make multiple character types compatible. This way you can make combo classes like a Warrior also being a Wizard! In the onRPGEnable function, simply call addCompatibility(RPGPlugin), where RPGPlugin is the plugin which a player can be in combination with yours. You can call this function as often as you want with different parameters to create a broad range of combinations! Note that when you make one plugin compatible with another, it will automatically be compatible the other way around too! Timed transformation (Move your mouse to reveal the content) Timed transformation (open) Timed transformation (close) By returning true in the hasTransformation() function, RPGOverhead will manage the time when your users are your character and when they aren't. An example of this would be a vampire turning into a bat at night (or anything you can come up with of course!) at step 4 from the basic steps, instead of returning false return true. use getTimeStart() and getTimeEnd() functions to tell the overhead when your character should transform. For night, this would return 13000 for getTimeStart() and 23000 for getTimeEnd() then, the transform function will be called when time is between start and end and the untransform function will be called when time isn't between start and end. Changelog: v1.0 - initial release