KarmicShare
KarmicShare
About
This plugin acts as cloud storage for items that anyone (with the proper permission nodes or in the same group) can give and take items to/from. However, in order to prevent players from abusing the global / group item pools, there is a configurable per-item karma system in place to limit how many items a player can take without giving back.
This system can effectively create protected item pools that are accessible anywhere: between different locations, worlds, even servers (by sharing MySQL). Essentially, its a "one chest to rule them all" plugin. Players and groups can create these item pools with peace of mind that their items are safe from griefers/theives/accidents. Think of it like Dropbox for items: Just put your items in KarmicShare and access them wherever and whenever.
With integrated economy support, you can use KarmicShare as a global item exchange. One that is completely managed and funded by the players.
Features
- Shared global pool of items based on player item donations to the community.
- Per-item karma multiplier: specify which items have more karma points.
- Admin commands to manage the item pool and player karma.
- Nifty (optional) effects :D
- Enchantment support
- Potion support
- Physical chests that link to the item pool
- Just have a sign with "[KarmicShare]" tag (no quotations, but DO include brackets) on the second line, and it will become a link sign. Have it above a chest and it will link the chest to the item pool.
- Chest page support
- Can hold more than 2000000000 pages of items! More item slots than you will ever need.
- To change the "page" of a linked chest, either left click the chest or click on the sign (left or right click). Or jump to a specific page using an in-game command.
- Group support, groups have their own shared item pool
- Shift click a link sign / chest to cycle through your groups. Or use a command to set your selected group.
- Multiworld control: Define which worlds have / don't have access
- Vault support
- MySQL support
- Way more powerful than native Ender Chests
- Comment on comparison here
- Economy support
Commands and Permission nodes
Configuration
Community Videos
Thanks to @Diamondsftw
Thanks to @damnnicholas
TODO:
- Ability to change config in-game through commands
- Player signs with their current karma
- Faction support (if possible)
- Dynamic karma
- List players of a group
- Group settings with owners / managers
- Per-item amount limits
- Karma rewards
- Manage group item pools via commands (full support soon)
- Blacklist
- Localization
Trello Dev board
Visit the Trello board to see the current todo list for all projects.
You can comment and vote on any of the topics there.
All changes on the Trello board are in real-time.
Feedback is much appreciated :P If this plugin has helped you, please consider donating.
@gabriel11798
Karma serves to limit the players ability to take items without giving back. This is back when it was a global item pool. If you think about it this way: without karma, a player could just empty out the item pool for themselves. No one would bother to use the community chest if everyone just takes and takes, as it'd be empty.
Thus, karma seeks to balance a players actions based on the value of the item. In this way, there is reason for players to be active and give as without karma they cannot take. With karma, players have incentive to be active with sharing items.
Note, the karma system is entirely optional. It was integrated so that players cannot abuse the system.
What purpose does karma serve? (Is it like EMC in the equivilent excange mod?)
KS v0.313 fixes group creation, and has been submitted to BukkitDev for approval.
If its not readily available here, its also available on the GitHub downloads page: https://github.com/Mitsugaru/KarmicShare/downloads
@FlukiestEmperor
Sent you a PM on the forums.
@Mitsugaru
Alright, was doing a bit more testing with groups and more people.
No java errors seem to be thrown anymore but, there seems to be problems with groups still.
Once I make a group, and I'm apart of it, I can no longer access "global" or my "self" shares. This even goes for an entirely new player who has never been in the database before. Interestingly enough, once I get out of all the groups except the default ones, I regain access to "global" and "self"
Also, when I did add a member to this group, he was able to initially put items into the share. Though, for some reason, after I accessed it and put items in, he was no longer able to put any items in. Same for when the share is being accessed at the same time.
I can do some more testing around with this if needed tomorrow or whenever.
@Mitsugaru
No problem, I usually like to try to help people out!
@FlukiestEmperor
That's fine. The SQL tables should insure that no duplicate groups are made. Apparently, it tried to remake your self group (probably when it thought you weren't in it). In this case, that error isn't an issue considering the manual changes we had to do.
And honestly, thanks for helping me with debugging this. I'm sorry for the hassle, and glad that its all working for you.
[EDIT] I've submitted version 0.312 to BukkitDev. The only thing different from your current build is just the version number.
@Mitsugaru
AH! Now it seems to work just as you wanted it haha. Thanks! This is definitely an awesome plugin.
EDIT: One small warning though: 19:49:16 [WARNING] [KarmicShare] [MySQL] Error at SQL Query: Duplicate entry 'self_flukiestemperor' for key 'groupname'
@FlukiestEmperor
Alright, for whatever reason, it must not have uploaded the correct jar. That being that the stack trace you just referenced points to a bracket instead of an actual line for me :\
https://github.com/Mitsugaru/KarmicShare/downloads
Try that version for groups. It should now fix your groups if you have none.
Also, test that inventory again, that error really shouldn't be thrown there.... or at least the stack trace should give me a proper place to look and not a random line.
[EDIT] If it still doesn't work out, I've got an idea to try out with you if you're available.
@Mitsugaru
It will show the inflated amount. Tested it again, If I right click an item on top of an existing item in the chest, it will dupe it.
Error thrown every time I do it: http://pastebin.com/7Qq35jRX
@FlukiestEmperor
Wait, so, when you close the inventory after the duplication, and reopen it, does it show the correct amount or the increased amount?
If it fixes itself, then it's a minor delay issue of some sort, and I won't worry as much as then the database is recording the correct, actual amount for the items.
If not, well, gonna have to figure that out.
@Mitsugaru
I used the latest 0.311 you said to download a couple of messages ago.
Basically what I'm doing is either taking a stack from my inventory, or already in the chest, and just randomly right click the chest slots so the stone is all over the place, but I'm doing it rapidly. If I do that slowly, there is no problem. It only happens when I rapidly right click an item into the chest.
And yes, the plugin never created a self group for me. I've deleted my name out of the database on the first revision of 0.311, but haven't tried again to see if it would properly create, and put in those groups.
EDIT: Error thrown when right clicking sign http://pastebin.com/B7Z663cw
Only group in database right now is "global" when I tried that.
@FlukiestEmperor
It shouldn't be the same error as I completely removed the line from the previous exception... Not to mention that I simplified the method in question so that it shouldn't be doing that in the first place.
This is the right click an item stack in the chest inventory with the same item in the cursor, correct? Or is this a different interaction...?
[EDIT] Cannot seem to reproduce the duplication with the newest jar. Spammed right click with a stack of 29 seeds onto an empty slot in the chest inventory. It added them one by one, then gave half stack once cursor was empty, added those in as well. Closed and reopened inventory and it showed the correct amount of seeds.
Also, about the groups, sounds like your user somehow wasn't given the global and self groups. If you remove your player entry in the database, see if it will auto-generate your global and self group for you when you do /ks. If not, I may have forgotten to put that in at some weird point of the code?
@Mitsugaru
Using the /ks command, it will only show me in the "test" group I have created. Otherwise, I believe if I delete that group out of the database, it will allow me to use the global group again, of course, without being in any other group.
Tried the duping glitch again, right clicking very fast, and still managed to duplicate a few stacks of stone.
Seems like the same error I posted below is being thrown.
@FlukiestEmperor
If you do /ks, does it list the global group correctly? Not sure why it wouldn't cycle properly if its being displayed correctly.
The "duping" glitch you found is actually a logical error on my part from old code. It wasn't adjusting the amount correctly.
In any case, this version should fix the duping glitch: https://github.com/Mitsugaru/KarmicShare/downloads
@Mitsugaru
Alright, did a bit more testing with the newer 0.311 version.
I am now able to shift click the sign to change groups, but I am not able to get back into the "global" group.
Here are some new errors throw, I'm not exactly sure what I was doing for this to happen though -> http://pastebin.com/rQ3g1bcx
It may have been though the duping glitch I found. You can rapidly right click items into the chest to duplicate them.
@FlukiestEmperor
Sorry, re-upped newer build: https://github.com/Mitsugaru/KarmicShare/downloads
Same version number.
I redid how I did permission checking for v0.3. But since I was moving so much stuff around, I'm not surprised that I missed a few typos regarding permission node checks. :\
@Mitsugaru
Tried version 0.311, and I lack permission to create a sign using KarmicShare.*
@FlukiestEmperor
Sorry for the delay, the new jar should now be up on GitHub. Made the edits so that the player groups in the database should be fixed for you.
[EDIT] Re-upped.
@FlukiestEmperor
[IGNORE]
Alright, so, you're going to have to go into your database and remove the 'test' group from any players. Also, remove any groups from players if they are not an id number. So, if their groups so like "1&2&test", remove the "&test" part. I changed groups to be referenced by their row id for version 3, but I didn't reflect that change for the group commands...
[/IGNORE]
Also, tested and fixed right click put single item into chest. I was grabbing the wrong ItemStack.
Anyways, I've tested v0.311 and I'll be submitting it to the BukkitDev page. However, I understand that these are rather urgent fixes, so as usual the latest jar is available on GitHub: https://github.com/Mitsugaru/KarmicShare/downloads
Sorry for the issues and thanks again for letting me know.
EDIT: Don't worry about it, I'll try and fix the player groups with the update.