KitMaster
KitMaster is a short-term inventory/effect/permission kit management plugin. As a server owner, you define kits in the plugin's configuration files. Your players can then take the kits either via a simple command, or by punching one of the kit selection signs depicted above. KitMaster provides you with the greatest amount of functionality possible, while at the same time remaining astonishingly lightweight and delivering rapid performance.
Click here to find out more about KitMaster and learn how to use the configuration and permissions.
This plugin uses the common MCStats data collection system to collect statistics about server version, plugin version, operating system, machine specs, etc. If this makes you uncomfortable, you can always disable it through the PluginMetrics configuration in plugins/PluginMetrics/config.yml.
In addition, this plugin by default will automatically download the latest versions of itself from BukkitDev and install them in order to keep itself up to date. If this makes you uncomfortable, you can disable automatic downloading of updates, OR disable the version check completely via the plugin's configuration in plugins/KitMaster/config.yml.
Features
- Dynamic and powerful syntax for defining items within kits
- All items are parsed using the same format, so you don't have to remember tricky formatting
- Different items have different data, but it's all configured using the same, simple format
- Kits can carry more than just items
- Define time-limited potion effects, or effects that renew automatically as long as you have the kit
- Add permissions to kits that will be granted to players when they take the kit, and revoked when it's lost (Vault required)
- Full MySQL support for saving internal data
- MySQL is a lightning-fast database that saves changes instantly and suffers no lag at startup, no matter how much data is stored
- Optionally enable MySQL to store internal data like sign locations, timestamps, and histories
- Never worry about lag on startup from loading massive files
- If your server crashes without saving data files, all your changes are still saved in the MySQL database
- Define timeouts for kits
- Configure kits so that a certain amount of time must pass before they can be taken again
- Apply a universal timeout so that nobody else on the server can take the kit until the timeout has passed
- Clearing inventories is completely configurable
- Individual kits can be configured to clear a player's inventory when taken, or leave it alone - useful for main class kits and auxiliary "supply drop" kits
- Selectively configure kits to clear inventories, potion effects (including recurring kit-granted), or kit-granted permissions
- Hook into economies
- Allow kits to either grant money or charge money when taken (Vault required)
- Special permissions to allow player's to bypass currency charges for taking a kit
- Powerful and effortless inheritance system
- Kits inherit both attributes and contents from their parents
- Multilevel recursive inheritance - parents, grandparents, great-grandparents...
- Allow a parent kit's permissions to override the child's, or require the parent's permissions in addition to the child's
- Simple, intuitive permissions granting
- Grant permissions per-kit
- Grant permissions for players to take a kit only by sign, or only by command
- Grant permissions to bypass timeouts and currency charges
- Never worry about needing to revoke permissions - permissions are always denied, unless explicitly granted
- Simple, clean kit list by command
- Players will only be shown kits which they have permission for
- Restrictions for how a player may take a kit are displayed next to the kit's name
- Kits may be configured to be invisible in the kit list
- Easy for other plugins to hook into
- Provides a capable yet secure API for other developers to hook into and manipulate the plugin, including custom events
- Kits can be defined with an extra "identifier" string to help dependent plugins find the kit they need or categorize kits
- Full item metadata support
- Save the contents of a book with a command and give the book to other players in kits
- Define custom potions within the custom data config and give them to players
- Give out your own skull (or somebody else's)
- Set up custom-colored leather armor to easily denote specific classes
- Save a firework with a command and give it to other players in kits
- Custom item names and lore
- Save or configure items with custom names and lore, and give them out in kits
- Access a custom item in a kit config simply by using its custom name
- Make up custom potions
- Use the custom data config to brew up your own unique concoctions with unique sets of effects
- Combine custom potion effect data with custom item names and lore to create completely new potions
This is an amazing plugin. Colored leather items aren't working for me in the kits, which kind of stinks, but others than that its amazaing. :)
Oh man, please, never stop updating this plugin.
It's the ultimate kits plugin. Take this from someone who tested at least three of those on his server.
You can charge for kits, set up delays, custom itens, and make kits that are more than just a bunch of itens, and much more! Superb!
Does this plugin support running commands when they claim the kit?
I would like to give tokens in the kits. Thanks
Can you make it so we can right click a sign also? Also be able to put items in different slots?
I'm having an issue getting Mushroom soup to work with this plugin. It throws errors every time I try it.
Here is a pastebin of the error and the config file. Please let me know what is wrong.
http://pastebin.com/bK4iY0bq
Thanks, murderersrow
When changing the messages.yml it doesn't actually change any messages displayed in-game.
@Jules6513
It can't be a problem with permissions, since permissions don't actually have any part in the item dropping on death restriction. There's a chance it may be a bug dealing with the somewhat sloppy way that I originally implemented kit reloading. Have you been completely reloading the plugin, or just using the /reloadkits command?
@ssSkillzzz
Check out the Bukkit documentation here: http://jd.bukkit.org/dev/apidocs/org/bukkit/permissions/Permissible.html
The methods I use to check respawn-kit permissions are a combination of
Player#hasPermission(String)
(to see if the permission is granted) andPlayer#isPermissionSet(String)
(to ensure that the permission is explicitly granted, and not given by a parent node, wildcard, or OP status). This is what I mean by PEx breaking the Bukkit API - because of how they've implemented their wildcards, the second method does not work the way it's supposed to, and you run into the exact problem you're having.PEx has chosen to break the Bukkit API in this manner, and I don't have the time to figure out how to code in a special exception for it just because it doesn't want to play by the rules. If you want this fixed, go quote this response to the PEx developers and ask them to fix their plugin. I wouldn't expect a response though, if I were you.
If you're looking for a good permissions plugin, I'd refer you to either PermissionsBukkit or zPermissions. The former uses a flat file configuration, but as a result can cause lagspikes with this plugin if you have a lot of players (due to frequent Vault calls and large file saving). The latter is lightning fast AND has instant persistence, but requires you to have a MySQL server. BOTH of them have command interfaces that are VERY similar (might actually be identical in the case of zPerms) to PEx's.
If you've got more questions, send me a private message.
@scorbin60943
That's awesome to hear man, thanks a bunch!
Saw a comment on Pex, it is the most popular permissions plugin ya know, don't think people will stop using it. Every video and how to and permissions explanation on bukkit uses Pex.. Just sayin
Plugin looks amazing. I have had alot of requests to make a plugin with features like but never got around to it. Good Job. I now have a place to send those looking for a kit plugin.
Okay. After deleting the kit files from the server and then re-uploading them the kits no longer dropped items. However, after a restart after that, they drop their items again.
Just FYI, I also reproduced this on a default member, so I doubt it is a problem with permissions.
I have a problem. My kits all have:
restrictions: armor: true drops: true deathDrops: true pickups: true otherKits: true
but recently they have been dropping items. At first only one class would drop its shovel (its only item other than its armor). Now, after a restart to fix another class (even after /reloadkits it stayed the same), all classes have been dropping items. I restarted again, no luck.
Plugins: GhostMoney mcore Vault WorldEdit PermissionsEx Multiverse-Core KitMaster HeroChat WorldGuard CreativeGates MCBans
I have tried reproducing it with /kill and by someone else killing me, and being inside a WG region and not. All times it dropped. I will try to delete the kit files and upload them again and see if that fixes it.
@BlackFing85
It might be, but there's no sense in me spending time implementing a functionality that you already have.
@AmoebaMan
But I think it would be easier if you put it in your plugin!
@BlackFing85
If you've got any sort of halfway-decent permissions manager, you'll be able to set per-world permissions. Check out your permissions manager's documentation.
Can you add world support so they can't use one kit in a world? So if you want to make a End only kit then you can! So in the config.yml where you make the kits you can put a world somewhere in the making the kit!
@highfaller
Stop using PEx. Like, seriously. PermissionsEx is like cancer to Bukkit, and I'd be willing to bet that ALL of the people having your same problem are running it.
Kits-on-respawn works via permission. It check to see if you have
kitmaster.respawn.whatever
and gives you the kit if you do. The ensure this doesn't result in admins getting every kit just because they're technically given every permission, it only looks for explicitly defined permissions.Because of the way I suspect PEx handles things like OP mode and * nodes, it's actually explicitly giving you every node, instead of implicitly granting them as it should.
If you have a MySQL server and can handle doing all your permissions editing through commands, I highly recommend zPermissions to you. It's incredibly lightweight (by virtue of using MySQL), the command structure is incredibly similar to PermissionsEx, and it has support for every standard permissions handler function (chat prefixes, groups, tracks, etc.)
If you can't use MySQL, my next best advise is to try PermissionsBukkit. The architecture is very similar to PEx, and I think it might even have an importer for PEx config files. The one caveat is that you should NOT use PermissionsBukkit if you're running some plugin with Vault that makes frequent permissions changes - PermsBukkit generates a VERY LARGE flat file, and saves/writes to/from it EVERY TIME permissions are changed, which causes lots of lag spikes if the file is too large.
@AmoebaMan
Well, I mostly suggested it due to running this plugin on multiple servers and wanting to use mySQL storage. If anything I'd need to be able to configure a prefix in order to separate the data. I'll figure something out I guess, thanks for the help.
@AmoebaMan
Thanks, and PermissionsEx - Only one I'm fully familiar with.
@highfaller
Use
plugins/KitMaster/custom-data.yml
, specifically theitems
section. You can define custom names and lore under an identifier key, then reference them by replacing the item type with the identifier.Also, what permissions manager are you using?
@AmoebaMan
It is on false and my Players still lose the Items