InventoryPlus
Redefining Player Inventories
Features
- Create a true RPG feeling by remodeling the inventory system through various settings!
- Full control over item pickups, item sorting and item creation!
- Disable/Lock unwanted inventory slots!
- Picked up items are getting forwarded to the next allowed slot!
- Assign items to a slot and blacklist or whitelist them, controlling and restricting its possible contents!
- Define slots as item-bins, deleting all items put in!
- Define slots as slot-switchers, switching the items of two different slots when clicked on! (useful for one-click weapon switching)
- Moving items from/into locked/not allowed slots is not possible!
- Dropping items from disabled slots is not possible!
- Custom /get command which behaves similar to the default /give, now skipping un-allowed slots!
- Custom messages, informing your players when a slot is not allowed for that item or if an item cannot be picked up!
- Fully configurable though detailed and easy-to-use configuration files, disable and enable the features you need!
How it works
Let's assume you want some realism on your Minecraft server, annoyed by players carrying around an inventory full of heavy loot, often multiple times their own weight. You want a change. This change is being brought here!
For instance, you could restrict your players inventories to only carry one sword at a time. It can be done through the included configuration file, in which you can define the behavior of each of the 36 different inventory slots. For each individual inventory slot, you can add items to a list. These items can now either be blacklisted (i.e. every other item than those in the list goes into the slot), or whitelisted (i.e. only the items listed fit into the slot).
Your players inventory is still a bit too big? You can even block a slot from any kind of usage, allowing NO items to be moved into that slot at all! Whether a slot is locked or the item trying to be placed into it is not allowed - Restricted items wont make their way into unwanted areas, no matter what.
Configuration
Config File with explanations: config.yml
Understanding the Slot Grid
The config file is very straight forward. First you are able to change some general settings, but for the most part just leave them on default. Underneath you find 36 different blocks of arguments, starting with "0" up to "35", while each number indicates the slot it is referring to in the inventory system.
Filling the Lists
Depending on what you want to achieve, you can either make the itemlist a blacklist or a whitelist. You need one row for each item you want to allow/forbid. Always use the default formatting: ID:MetaData
Most items don't have additional information, making their metadata value a zero. Some items, like log or dye, have multiple sub-types, defining color and/or type. In that case, you need to specify your needs by submitting the metadata value. Swords and pickaxes for instance have a constantly changing durability. If you just add 272.0 (stone sword) to your whitelist, only a fully repaired stone sword is included. If you want to include all possible sub types and durabilities, use the wildcard *. You do that by placing a * after the dot (example: 272.*).
If you don't know the exact Item ID, you can use the link below or use the command /ivitem while holding the item in your hand. You are going to get a suitable value ready to place inside the config, including durability!
You can get the item ID's (for blocks and items) here: Item ID list
Remember, if you want to have a fully working whitelist, also add air to the slot (0.*).
Help, my config doesn't work
The config will not work and the plugin will eventually break if you delete parts of it, or if you use whitespaces instead of tabs while editing! Please only modify true/false values. You can also add and delete values inside the "items:" lists.
The plugin works, you just have to get the setup right. Updating to a newer version may break your config file as well, some things might have changed. To make sure you can update safely, go to the files section on this page and click on the newest version. Any changes made to the config are listed there, just manually check for differences and correct them. If your config seems to be broken, reinstall the plugin and add your old values to the freshly generated configuration file.
You can also try to use the YAML Phraser, to check for formatting errors inside the config.yml.
Commands and permissions
/ivreload
Reloads the plugin
/ivitem
Prints ID.DURABILITY of the item currently hold in hand into the chat, suitable formatting the config file.
/get <item | item:data> [amount | player] [player]
This may seem a bit confusing, but it is actually way more handy than the default /give command, which, for instance, always asks to enter a player name, even if you are the one receiving the item..
The first argument <item | item:data> stands for the item you want to have. It can either be an ID, or an ID with Metadata attached to it, separated through a colon.
- Examples:
- /get 17 => gives 1x log to yourself
- /get log => gives 1x log to yourself
- /get 17:3 => gives 1x jungle log to yourself
The second argument can now either be the amount of items you want to have/give, or the name of the player you want to give something to. If you only enter a username, the amount will be one.
- Examples:
- /get 17 30 => gives 30x log to yourself
- /get log 30 => gives 30x log to yourself
- /get 17:3 30 => gives 30x jungle log to yourself
- /get 17 badeye => gives 1x log to a player (here: badeye)
- /get log badeye => gives 1x log to a player (here: badeye)
- /get 17:3 badeye => gives 1x jungle log to a player (here: badeye)
The third argument is only relevant when the second argument hasn't already used the username parameter but the item amount instead.
- Examples:
- /get 17 30 badeye => gives 30x log to a player (here: badeye)
- /get log 30 badeye => gives 30x log to a player (here: badeye)
- /get 17:3 30 badeye => gives 30x jungle log to a player (here: badeye)
Bugs
- Shift clicking an item is 'ghosting' it to its original destination for a brief moment. This is not a big deal, it just doesn't look as fancy as it could look. It is caused by the bukkit API and cannot be fixed on my end.
- /get doesnt check for creative mode
- Equiping armor through shift clicking doesn't work yet
Upcoming Features
- Carry weight for specific items => slowness
- Crafting slot management
- In-game inventory restriction editing through a custom gui -> config wont be needed anymore for the slot configuration
- MultiWorld support
@RaulH22 Can you somehow replicate the duplication, since that is an issue I have not yet experienced, there might just be something wrong with your config. For now, the inventory sorting is going weird when a container is opened, this is due to the (old) Bukkit Inventory System, which wasn't able to distinguish between a players inventory and a container and thus created weird outcomes when it comes to moving an item from one to the other.
Concerning the next update - I'd like to continue working with Bukkit, but since it is depreciated I am not sure if it makes any sense to continue the development for it, I'd rather move to Sponge or Spigot, which both have a much cleaner API. If the request is there though, I am willing to update the Bukkit version simultaneously.
@xXBadeye
Your plugin it's amazing, but have any problems with item duplication, please fix this... I need this hahaha. Really really good work man. Congratulations. :D
The development was picked up again, i am now porting it to spigot while rewiring it from scratch.
Is there a way for an item in a player's inventory to be locked to a hotbar slot? Similar to the clocks and compasses in large server lobby's.
Please an update or a compatibility with menu plugin. :C
The slot grid does not include the crafting, outcome and armor slots. Doesn't allow us to run commands on slot click.
nooooo! :(
Update itttttttttt
@nightsolar
I was having the same problem and realized that the config in the plugins folder didnt affect the slots after the first load. What i had to do was open the jar and edit the config file in there to get it to work.
@Celeress
I am using 1.7.9 and it works, so i assume it will work on 1.7.8. And in the config check to see if blacklist is set to false on the other slots. What that does is make the blacklist into a whitelist. So if its false and you havent defined any items then no items are allowed in that slot.
Hope that halps
Anyone using 1.7.8 get this working? The plugins loads for me but when I try locking slots, they don't lock. I could be doing it wrong.. but slot 1 also isn't the "first slot." What I mean is.. When you pick up a item with a empty inventory, it will go to the 2nd hotbar slot, not the first. Afterwards with the item in your inventory, you can just move it to slot 1.
Again.. I could have easily messed something up somewhere in the config since the plugin DID load.. otherwise I would really like an update on this.
so i just tried this plugin and so far it works quite well except one major issue/bug i tried locking a slot and it worked but when i tried unlocking it (changing locked back to false) it stayed locked and wouldnt let me do anything with the slot
also on the comment of multi-world compatibility i have the plugin "MultiWorld" and it effects all of them but using the plugin "PerWorldPlugins" i was able to limit it to just the one or two depending on my wants and desires
overall good plugin but hopefully you can shed some light on the whole not unlocking thing
Do you work on an update?
and can you make the armour inventory place whit a nummer or a letter
can you make that if you make a slot whit ranks. if you has a starter rank that you have basic stuff and if you higher then can the old stuff replaced whit /give [higher weapon] or anything like this.
I am trying to find the inventory mod where you can make heads that mod what is it called
hi
@madtomic
I'm running CraftBukkit version git-Bukkit-1.7.2-R0.3-b3020jnks and the plug-in won't load. Looking forward to seeing an update. I've been wanting something like this for a long time.
Anyone know if this works with cb1.7.2-r0.3?
Update please? I really need this for http://trinity-pvp.net
@McPixel
Ah it is fine :) I am having some issues with a very complex part of my plugin, i need to fixe those (they are nearly solved) after i can do as you wished.
I can check if items exist in your inventory when doing multiple things like opening it or moving items, but i can't realy define a slot as an official armor slot. I can check for the armor value and add the defense points, but it is not an actual armor slot then => other plugins don't register it as an armor slot.
I can make you gain defense when the armor is not in the armor slot but somewhere else in your inventory. That can be done. Do you want that, or something else?
What is your native language? I speak german, so if that's your native language aswell communicating would be easier :) we can cumunicate via private messages, that is defenetly easier aswell
And you are not annoying, it is me who asks you stuff :)