KeepItems
KeepItems
KeepItems
KeepItems allows players to keep their items and/or experience when they die, whilst allowing fine-grained control via the permissions system.
Quick links
Downloads
Source code
Please donate if you've found this plugin useful, to help support future development.
Bitcoin address: 16irtnP6a8fv14vdCoAqW5ug7TCUCR6gcg
Quick setup
If you simply want all players to always keep their items and experience when they die, add the following to the permissions.yml file in the root directory of your Bukkit server:
keep-everything:
description: Allow players to keep their armour, their experience and all of their items when they die.
default: true
children:
"keep-items.armor": true
"keep-items.level": true
"keep-items.progress": true
"keep-items.cause.*": true
"keep-items.entity.*": true
"keep-items.item.*": true
For more information, please refer to the documentation below. If you need any help configuring the plugin, feel free to drop me a comment.
Documentation
Frequently Asked Questions
I have all the correct permissions but when I die I still lose all of my items. Help!
Make sure you don't have any other plugins installed that might interfere with the death/respawn process.
How do I configure this plugin so that players can only keep their items in a single world?
Use a multiworld permissions plugin (e.g. PermissionsBukkit, bPermissions, GroupManager), and only grant the KeepItems permissions in one world.
-
View User Profile
-
Send Message
Posted Apr 14, 2014i have same problem with keep-items and groupmanaer: http://dev.bukkit.org/paste/9750/
-
View User Profile
-
Send Message
Posted Apr 11, 2014@everidge1999
I tried to reproduce the issue on a server running CraftBukkit 1.7.2-R0.3 and GroupManager 2.12.1. I gave the default group the relevant permissions using these commands:
I then logged on as a non-op and killed myself by stepping into a pool of lava. When I respawned, my armour was still equipped, my levels were intact and I kept all of my items.
I'm really not sure why it's not working on your server. Are you certain that no errors appeared in the server logs? Could you give me a list of the plugins you're using so I can check for conflicts? Thanks.
-
View User Profile
-
Send Message
Posted Apr 9, 2014@robinjam
I'm using EssentialsGroupManager, and they are set up just as anyone else would set up their GM perms. An example is as follows...
donator5:
default: false
permissions:
- -ctl.darkgreen
- ctl.green
- echopet.pet.type.sheep.baby
- essentials.back
- essentials.sethome.multiple.D5
- essentials.sethome.multiple.vip
- essentials.teleport.timer.bypass
- idc.group.vet
- keep-items.armor
- keep-items.cause.*
- keep-items.entity.*
- keep-items.item.*
- keep-items.level
- keep-items.progress
- protectionstones.create
- protectionstones.group4
inheritance:
- member
info:
prefix: '&f&l[&r&aPremium&f&l] &r&a'
build: true
suffix: ''
EDIT: Players are losing enchanted items/non-block items even when '/gamerule keepInventory true' is executed. I'd really like to get this plugin working for us, but as of now, I removed the plugin and the gamerule works fine. But, again, I'd like only certain ranks to keep their inventory. Thank you for your efforts.
-
View User Profile
-
Send Message
Posted Apr 9, 2014@everidge1999
That's very strange... Could you let me know which permissions plugin you're using and give me a basic idea of how you set up the permissions? I'd like to try and reproduce the issue on a local server.
-
View User Profile
-
Send Message
Posted Apr 8, 2014Hello. I'm having an issue with your plugin's new permissions system. I want certain ranks to have keep inv. For some reason, the ranks who have the following perms, are only keeping their level+armor. What am i doing wrong? I'm not getting any errors in console or any other signs of issues.
- keep-items.armor
- keep-items.level
- keep-items.progress
- keep-items.cause.*
- keep-items.item.*
- keep-items.entity.*
-
View User Profile
-
Send Message
Posted Apr 4, 2014@mrretrus
How did you test the plugin? Did any errors appear in the server console? What does your permission config look like?
-
View User Profile
-
Send Message
Posted Apr 3, 2014hmmmmm tested out this plugin because i like the idea of being able to keep some items but not others when you die/ levels- would be a great perk for donors as well. however, as an opn with every permission manually added to my group- the plugin does absolutely nothing :\ Using latest version of vault, group manager essentials n craft bukkit 1.7.2
-
View User Profile
-
Send Message
Posted Apr 3, 2014@collller
I think you may have encountered a bug in Essentials. I've opened a bug report, so hopefully it'll be fixed soon.
In the meantime, you can avoid the issue by not using the Essentials /kill and /suicide commands.
-
View User Profile
-
Send Message
Posted Apr 2, 2014when i use /suicide /kill player command
[13:18:19] [Server thread/ERROR]: Could not pass event PlayerDeathEvent to KeepItems v1.0.rc3 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:294) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at org.bukkit.craftbukkit.v1_7_R2.event.CraftEventFactory.callPlayerDeathEvent(CraftEventFactory.java:366) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.EntityPlayer.die(EntityPlayer.java:388) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.EntityLiving.damageEntity(EntityLiving.java:739) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.EntityHuman.damageEntity(EntityHuman.java:751) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.EntityPlayer.damageEntity(EntityPlayer.java:467) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at org.bukkit.craftbukkit.v1_7_R2.entity.CraftLivingEntity.damage(CraftLivingEntity.java:203) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at org.bukkit.craftbukkit.v1_7_R2.entity.CraftLivingEntity.damage(CraftLivingEntity.java:188) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at com.earth2me.essentials.PlayerExtension.damage(PlayerExtension.java:16) [Essentials.jar:?] at com.earth2me.essentials.commands.Commandsuicide.run(Commandsuicide.java:21) [Essentials.jar:?] at com.earth2me.essentials.commands.EssentialsCommand.run(EssentialsCommand.java:149) [Essentials.jar:?] at com.earth2me.essentials.Essentials.onCommandEssentials(Essentials.java:517) [Essentials.jar:?] at com.earth2me.essentials.Essentials.onCommand(Essentials.java:382) [Essentials.jar:?] at org.bukkit.command.PluginCommand.execute(PluginCommand.java:44) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:180) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at org.bukkit.craftbukkit.v1_7_R2.CraftServer.dispatchCommand(CraftServer.java:709) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.PlayerConnection.handleCommand(PlayerConnection.java:984) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.PlayerConnection.a(PlayerConnection.java:829) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.PacketPlayInChat.a(PacketPlayInChat.java:28) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.PacketPlayInChat.handle(PacketPlayInChat.java:65) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.NetworkManager.a(NetworkManager.java:148) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.ServerConnection.c(ServerConnection.java:77) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.MinecraftServer.v(MinecraftServer.java:703) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.DedicatedServer.v(DedicatedServer.java:273) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.MinecraftServer.u(MinecraftServer.java:566) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.MinecraftServer.run(MinecraftServer.java:472) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] at net.minecraft.server.v1_7_R2.ThreadServerApplication.run(SourceFile:618) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] Caused by: java.lang.NullPointerException at net.robinjam.bukkit.keepitems.KeepItems.onPlayerDeath(KeepItems.java:101) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.8.0] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) [spigot-1.7.5-R0.1-SNAPSHOT.jar:git-Spigot-1360] ... 30 more
-
View User Profile
-
Send Message
Posted Mar 30, 2014@ThsShadyOneHD
Just use a permissions plugin that's world-specific (for example, bPermissions).
-
View User Profile
-
Send Message
Posted Mar 30, 2014can you make it that it can be world specific
-
View User Profile
-
Send Message
Posted Mar 29, 2014@mindcat
I already released an update yesterday. You can download it here.
-
View User Profile
-
Send Message
Posted Mar 29, 2014@robinjam
Well, I just ask for update, if you didn't, I will.
-
View User Profile
-
Send Message
Posted Mar 28, 2014@mindcat
I'd prefer not to transfer ownership of this project. If you want to help out, I'm accepting pull requests on GitHub (https://github.com/robinjam/keep-items). If your code is good enough, I'd be happy to add you as a collaborator on GitHub and as an author here on BukkitDev.
-
View User Profile
-
Send Message
Posted Mar 28, 2014Can I take your development, let me continue the plugin development?
-
View User Profile
-
Send Message
Posted Feb 26, 2014@SXRWahrheit
How would that help?
-
View User Profile
-
Send Message
Posted Feb 26, 2014@robinjam
Why not use Vault as recommended?
-
View User Profile
-
Send Message
Posted Feb 20, 2014@SXRWahrheit
There's a discussion about the issue here. tl;dr the item ID system in Minecraft is deprecated which means I need to overhaul the KeepItems permission system to use item names instead of IDs for the keep-items.item.<id> permission nodes, while ideally retaining backwards compatibility with the previous permission system. This will probably involve tacking on my own item ID system. Furthermore, every item in the game is going to be renamed when Minecraft 1.8 comes out, so I'll also need to add aliases for every item for backwards compatibility.
To be honest, developing for Minecraft is a bit of a PITA at the moment. They've changed so much stuff under the hood recently it's kinda difficult to keep up-to-date.
-
View User Profile
-
Send Message
Posted Feb 20, 2014@robinjam
It doesn't seem like this should be something terribly difficult to get updated. It's been 18 days since your last post, can we please have a status update?
-
View User Profile
-
Send Message
Posted Feb 2, 2014@MrDracoHD
I'm afraid I can't give you a date. I'm completely swamped with RL work at the moment and that will always take priority over maintaining my plugins. All I can promise is that I'll get a fix out as soon as I have time.
You might consider using the keepInventory game rule instead in the meantime, although the coarse-grained control it provides may not be suitable for your purposes.
I apologise for the inconvenience, but I hope you understand.