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
@xXBadeye
my other plugin just check the lore hmm , i think just like armor and defense , they can effect if item placed in armor slot and what is lore item on my hand.
yea like that not just armor but all items can check it and spesific slot. that rail on my SS its just a . . dunno how to say LOL :D
im sorry if im anoying :( , im have bad english
@McPixel
Yes, it can be done. But I want to understand you correctly, so lore and adding the effects is some other plugin doing? I just apply the defense and check for the armor in all slots?
@xXBadeye
yeah thats right , like that. yep still get the defense :D
that can be done ? no plugin accessories in the whole bukkit plugins right now :P
@McPixel
Okay i don't know if i understood right, but i should make that the actual defense (the armor symbols you get) are detected in other slots aswell, not only in the original bukkit armor slots on the top left?
Basicly that your plugin you have there can be used and you still get the defense?
@xXBadeye
hmm damn bad for me , cuz im bad english to explain like that hehe
not like that i mean , just like slot on armor , they check what is in that armor lore then effect to the player. ahh simple , make other inventory just like armor slot. cuz these slot can check the lore :)
or make the armor slot can place other items :P
here ex image http://puu.sh/7Boqm.png
@McPixel
So basicly you have an item that already has lore, and my plugin checks for lore on the item. Than it compares it to a list and checks if there are similaritys and adds the player effect?
So you have your +60 health lore and you get 60 health. Okay, that can be done, but how for example should critical damage work, how much should it boost up the damage? That can be a bit complicated, if other plugins modify the damage values aswell etc. Which modifers do you think about? And remember, how do you want to display having 60 health more, your healthbar can only contain 20 half hearts
@Gowdsta712
No, it doesn't. That is simply not possible, i am not able to overwrite the default commands, that would require client mods. However, i have included an own command /get. It has more features than the /give and is easier to use, and detects teh black/whitelisted slots, so no worries :) I do not know bosshops, but you may look at sign commands and execute /get <item> when you click oj that sign, that would work.
I have noticed that the item slot locks and black/white lists do not work with /give and bossshops, which is a bit dissappointing. :(
@xXBadeye
Thank you so much >.< , if my server is DONE and success i will donate to you ;)
here is the ex image :D http://puu.sh/7A3gv.png we can customize how big the slot , etc whitelist/blacklist :D
@McPixel
Currently still working on the pickup stacksize and some corrections at other code parts, but that is defenetly a cool idea, which can be defenetly done!
@AnAwesomeGuy
Whitelist
0.-1
or, to be sure,
0.*
That is air, otherwise it wont work, It is written multiple times in the config and also here on the main page.
when i have a slot that is whitelisted and one of the whitelisted items is put in one of the other slots(locked or whitelisted) it automatically moves it over to the nearest slot where it is whitelisted but after that i seem to be unable to drag it out again. i run the build spigot-1.7.2-1322.jar.
@xXBadeye
REQ new feature. can you make specific slot to get effect like armor slot. :D
ex: if item/armor have attack/Defence lore effect in SLOT 17 and the player get these effect :D
just like accessories. i see player get the effect if holding the item.
@CallumNotley
Yes, update is done tomorrow.
Also added a custom-stack-size system, you can now configure your own item stack limitations (for example diamond blocks can only be stacked once, and gold blocks 100 times). The new stack sizes are registered by all events, means picked up items will (for example) not be added to a slot where the custom stack size would be too big.
Fixed a few pickup and /get item bugs, items are now stored correctly when picked up. /get command is now usable through the console without errors.
can you have it so that it only works in certain worlds
@AirstarAirliners
Haven't tested it on 1.7, i'll check for function and mechanics changes in the bukkit api, but it may even work with 1.7. If not, i am going to make a newer version for 1.7 :)
When will there be an update to 1.7? I really need this plugin ;P
@bingoberraz
Permissions coming up, working on it
Thats for the information about the typo, fixed it :)
Permission? :D
"Custom per-slot messages system, inform your palyers when a slot is not allowed for that item!"
Update: All important bugs fixed, version 1.8 uploaded. Next version will be the release version, which is going to be the first completly bug free and abselutely stable version. From there on I'll add requested content like MultiWorld support and some other things i have in mind. All that stuff will be able to turned on/off in the config, no worries. The base concept is there, it will defenetly stay. In 1.8 is still one small bug, when dropping jungle wood, which is in a locked/not allowed slot, it will turn to wood (happends with every item which has a durability over 0, it will be set back to 0). Working on that last piece of code to fix it, but as long as users play in survival mode they will not get any items into locked slots, so it is luckly not going to effect the gameplay at the moment.
Stay tuned, folks :)