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.
Also, I'm thinking of changing the group add command just a bit... currently, its formatted as:
/ks group add <name> [group]
What I would like to change it to is:
/ks group add <group> <name> [name2] ... [nName]
Since it does name autocomplete, I think it'd be better to use a command once to add a bunch of users to a group, rather than having to use the same command a bunch of times.
I have no idea why I didn't format it this way the first time around... I think I must've been really tired.
So, good/bad change? Yar/Nar?
(Wait, nar? what? XD)
[EDIT]
It would also be changed with the rest of the group commands, such as remove and leave (remove multiple users, leave multiple groups), as well as from the admin side.
@holsamoht
Interesting table of values. So, it sounds like you made your default karma change to 0? And then used values for things that you wanted to "cost"?
I might just integrate some of these that I'm missing, such as the Sandstone, Wood, Glowstone ones. Also might bump down wool to two as you have.
Um, one thing that I'd like to ask, it appears as if gold ingot (7) is worth more than iron ingot (6), but the blocks are reversed (goldblock[41] : 54 - iron block[42] : 63)?
And I'm glad you're making use of the per-item karma multipliers. :D
@Zenonic
Latest release already has the nodes you requested :P
@Mitsugaru
Yes, optional permission nodes would be great :)
@holsamoht
Well, it was meant so that staff would have less overhead on setup... And simply allow the players to police themselves... But, I do agree that the add/remove has the potential to be abused by trolls of a group... but I am as stumped as you are in finding a good way to mitigate negative uses on such commands.
It sorta boils down to a trust issue and players will need to decide for themselves on if they trust them without access to their group or not... Which can be said for things beyond this plugin, such as building projects and such.
I promise to look into Factions soon and see what I can and can't do.
And thanks for using my plugin. Let me know of your progress and of any changes you wish to see.
I don't know any more than you about how factions are setup. I don't particularly like that anyone within a group can add/remove others, mainly because I don't trust 10-14 year olds with that ability. I'm not sure the best way to combat this. Within factions there are moderators who have abilities to add/remove people from the faction, so I'd like to tie your plugin with that, but we are going to start using this in the manner that you have described. It is just too good to pass up :).
@holsamoht
Alright, so, here's my question: How are factions uniquely identified? Is it via the group name, or the tag, or either? Also, if the tag isn't the unique identifier, then I would have to use the group name... however, I cannot use a group name IF the name exceeds the character limit for a sign line (15 characters). Sorry, I have no idea on Factions which is why I'm asking ;
Here's the thing with groups, any one person can create a group, so, for instance one person creates a group for their faction. Now, that person starts adding people to the group. In the current version, anyone can create a group (no permission node) and anyone of that group can add/remove people to/fro it. So, you see, the staff don't have to manually add people all the time, it ought to be organized by the players themselves (at least most of the time). So long as you notify players to create the initial group, they should be able to add people to the group. The only time staff would need to force add a player is if no one of that group is on to add them to the KarmicShare chest group.
Now, I wouldn't mind adding Faction support... I will say though, it may take extra time since its not like Vault and things are easily laid out for devs to hook into it (at least, I can't find the page on how... which results me in having to read their source code). But if it names don't fit the first line, then I'm going to have to say that they just organize their own KarmicShare group (which is how it was built in mind in the first place).
And sorry for the late reply. I've been busy all day D:
Had a staff meeting and one of our mods asked if there would be faction support for this in the future. We run a busy faction based server and we were going to create groups for each faction so they can share resources, but we would have to manually add each person to the groups. It would be worth it, but more hassle than if this could tie in directly.
@holsamoht
Thanks :D
If you run into any issues or have any suggestions, please let me know :P
We will be testing this out on grimworld.co later today. Love the concept!
@Zenonic
Well, unfortunately, the chests only get refreshed on open. However, they are hooked into the item pool, so it should deny you if the item really isn't in the pool, and on next open it ought to display the correct items. I have it set to update only when necessary in hope that it doesn't put too much server load.
The full stacks are basically that. Instead of having a single item representation, I'm enabling the items to be shown in the normal way, in stacks. Due to this, I'll eventually enable right click if I can manage it. Using full stacks, it'll feel much more like a regular Minecraft chest and taking multiple items out from physical chests will be less of a pain/chore.
Also, I'm inclined to keep the commands... so as a compromise, could I just have an extra permission node check? Such as maybe KarmicShare.command.give and KarmicShare.command.take? I understand where you're coming from and agree with the sentiment that it breaks the barrier of typical RP elements.
@Mitsugaru
As i understand it is that chests aren't refreshing when someone else uses /take or /give while a person is using the chest. So what is this "full stacks" method, what does it mean? Also on a sidenote, the /take and /give commands shouldn't even be there or should be optional, more rp-like imo(it's a bit too convinient to grab food from a virtual item pool when you need it).
Alright, I have an idea for changing interactions with chests.
Basically, I'll be using full item stacks instead of using unique slots and repopulating.
Please sound off on whether this is a good idea or not. I feel that it would be more natural / native Minecraft like if I were to ditch the re-population system in favor of regular item stacks. The caveat is that, since its not repopulating, you would need to "refresh" the chest contents by opening/closing in order for it to grab more items and fill up empty spaces.
So, what do you think?
@Zenonic
Thanks :D
Also, added the grouping system. Players can be in multiple groups and only have access to linked chests to groups that they are in. Unless its global, which everyone has access to.
And for now, the only interface if chest access. I need to tweak commands if I'm going to allow users to give/take/list from a specified item pool.
Glad to find a developer that listens to feedback :D (also i agree that karma should just be tied to the user, it would get too messy if a player had per-group karma).
@ablac
Alright, can you see if v0.16 stops the duplication bug issues with chest access?
Same as before, I've uploaded it on my GitHub link.
It said 1
Its only when its in the chest if i do /ks take fire 1 it removes it correctly but if i remove it from the chest it dosnt.
@ablac
Out of curiosity, what is the amount shown for the infinite item when you do /ks list?