[Release] Kits

Discussion in 'WIP and Development Status' started by Dragonphase, Aug 31, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    Dragonphase

    Kits: Easily create and manage kits
    Current version: Kits v2.0.1
    API version: 2.0.1
    Links:
    GitHub
    BukkitDev

    Overview:
    Kits is a plugin which allows you to create individual inventories that players are able to retrieve by issuing the /kit command or clicking on a [kit] sign. Kits was first inspired by the kit feature in Essentials, and as a server administrator, I wanted something that didn't rely on editing a config, and allowed you to choose where you wanted the items to appear in your inventory. I developed Kits with that in mind, which provides you with an in-game inventory interface which allows you to do just that:

    [​IMG]

    "Oh look, another Kits plugin." - Well, when I first created Kits, there were only a few Kits plugins out there, and none of them did what I wanted. I'm fairly confident that almost all of the current existing kit plugins don't have the ability to do what Kits is able to do (for example, creating kits in-game through the use of an inventory interface.) I developed Kits with one thing in mind - for it to be the #1 kit plugin on BukkitDev, a simple and easy solution to the more complicated configuration-based kit creation methods. That may be slightly egocentric, but it gives me a drive to want to develop the plugin further. ;)

    Features:
    • Create kits entirely in-game.
    • Kits accept any ItemStack, even ones with custom names, enchantments, etc.
    • Specify whether spawning a kit should overwrite any slots in a player's existing inventory.
    • Specify whether spawning a kit should clear a player's inventory.
    • Specify whether spawning a kit should announce it to the player.
    • Specify whether spawning a kit should delay the player for a custom amount of time.
    • Create signs which spawn kits when interacted with.
    • Allow the use of inline flags which override existing overwrite, clear and announce flags:
      • -overwrite (don't overwrite); +overwrite (do overwrite.)
      • -clear (don't clear); +clear (do clear).
      • -announce (don't announce); +announce (do announce.)
      • -delay (no delay)
    • Inline flags can be used on signs.
    • Delays on kits are not global; they only apply to that individual kit.
    • Allow kits to spawn armor in the armor slots as demonstrated above. This also allows any block to be used in place of the head slot.
    Planned features:
    • Allow potion effects to be applied to the player when a kit is spawned. This could make use of the 5 remaining unused slots in the kit creation interface.
    • Create short abbreviations for flags (-o, -c, -a, -d).
    • Allow the use of +delay, which may allow the specification of a custom delay:
      • +delay:1h30m (add a delay of one hour 30 minutes to a kit through inline flag).
    • Economy hooking using vault. This means kits can have a price.
    • Implement Gravity's updater.
    • Add an AutoSave feature.
    API:
    Kits has an API! To use it, add the Kits repository and dependency entries to your pom.xml:
    Code:
    <repository>
        <id>Kits</id>
        <url>https://raw.github.com/dragonphase/Kits/mvn-repo/</url>
    </repository>
     
    <dependency>
        <groupId>com.dragonphase</groupId>
        <artifactId>Kits</artifactId>
        <version>2.0.1</version>
        <scope>provided</scope>
    </dependency>
    Add Kits as a dependency to your plugin.yml file. Retrieve the Kits instance inside your onEnable method and use the methods provided within KitManager:
    Code:java
    1. private KitManager kitManager;
    2.  
    3. public void onEnable() {
    4. if (!getServer().getPluginManager().getPlugin("Kits").isEnabled()) {
    5. getServer().getPluginManager().disablePlugin(this);
    6. } else {
    7. kitManager = Kits.getInstance().getKitManager();
    8. }
    9. }

    You can also use the KitSpawnEvent to handle and modify the spawning of kits. Here's a really basic example:
    Code:java
    1. @EventHandler
    2. public void onKitSpawn(KitSpawnEvent event) {
    3. if (event.getPlayer().hasPermission("my.custom.permission")) {
    4. event.setDelay(0);
    5. event.getPlayer().sendMessage("You have special privileges!");
    6. } else {
    7. event.getPlayer().sendMessage("You don't have special privileges!");
    8. event.setCancelled(true);
    9. }
    10. }

    Contributing:
    • Kits started off as a solo project, although I am always looking for people to help further its development. Would you like to see something new in a future update? Would you like something to be improved? Have you found any bugs in the current version that should be fixed? I would gladly accept suggestions and feedback on Kits. :)
    • If you want to help in the development of Kits, such as developing code or providing support, I would be extremely grateful. Be sure to read the contribution guidelines before you create a pull request for Kits.
    • If you're interested in having a role on the BukkitDev project, such as being a Developer, Documenter, Maintainer, Ticket Manager or Contributor, send me a PM and we can discuss it further.
     
  2. Offline

    Dragonphase

    I think it goes without saying that I won't be supporting Kits for a server mod which is effectively dead. When I get the time, I will try to support alternate server mods such as Sponge; this will also hopefully allow me to add a lot more useful features.
     
  3. Offline

    AronTheGamer

    Take a look at CanaryMod. Offers almost the same Bukkit. Should I try remake it or do you wanna do it yourself?
     
Thread Status:
Not open for further replies.

Share This Page