Scavenger
About Scavenger
This is a continuation of the Scavenger plugin originally written by SirHedgehog. This plugin will automatically recover items for players after they die.
Features
- Automatic item recovery at death.
- Individual item recovery based on permissions if enabled.
- Automatic level and experience recovery at death.
- Supports SuperPerms
- Supports Vault based economies.
- Persistent recoveries. If the server is stopped before a player can recover inventory the inventory is saved to disk.
- Slot based recovery
How to install
Just drop the jar file in your plugins directory and restart your server. Configure permissions.
Links
Hooks
Scavenger hooks into several plugins to play nice with their inventory controls.
- Multiverse-Inventories
- MultiInv
- Mob Arena
- PVP Arean
- Ultimate Arena
- Battle Arena
- WorldInventories
- Minigames
- xInventories
Scavenger also hooks into Residence to provide item recovery override per residence.
Scavenger also hooks into Factions to provide item recovery override in enemy territory.
Scavenger optionally hooks into authentication plugins via Authenticator. Update the config.yml accordingly. More info here.
Dependencies
- To use an economy plugin you will need Vault and an economy plugin.
Permissions
- scavenger.scavenge - Enable item recovery
- scavenger.scavenge.damage_cause
- scavenger.level - Enable level recover
- scavenger.exp - Enable experience points recovery
- scavenger.free - Free item recovery
- scavenger.reload - Reload config
- scavenger.drop.[ITEM] - If SingleItemDrops is true then don't recover these items.
- scavenger.keep.[ITEM] - If SingleItemKeeps is true then only recover these items.
- scavenger.self.on - Allows players to enable item recovery for themselves.
- scavenger.self.off - Allows players to disable item recovery for themselves.
- scavenger.disable - Allows players to completely disable Scavenger.
- scavenger.enable - Allows players to completely enable Scavenger.
- scavenger.list - Allows player to list all pending recoveries. (Purely informational)
If you enabled slot based recovery you will need to give each player a permission node for each slot.
- Armour:
- scavenger.armour.X - Armour slots where X is 0, 1, 2, or 3.
- Armor: 0 = boots, 1 = leggings, 2 = chestplate, 3 = helmet
- scavenger.armour.X - Armour slots where X is 0, 1, 2, or 3.
- Inventory
- scavenger.inv.X - Inventory slots where X is 0 to 35.
- Inventory bar: 0 - 8
- Inventory row 1: 9 - 17
- Inventory row 2: 18 - 26
- Inventory row 3: 27 - 35
- scavenger.inv.X - Inventory slots where X is 0 to 35.
- Offhand (shield etc...)
- scavenger.offhand.1
FAQ
Q) How do I explicitly keep items?
A) Set SingleItemKeeps true. Then use scavenger.keep.[ITEM] to keep the ITEM.
Q) How do I explicitly drop items?
A) Set SingleItemDrops true. Then use scavenger.drop.[ITEM] to drop the ITEM.
Commands
- /scvr - Reload configuration
- /scvron - Self enable scavenger
- /scvroff - Self disable scavenger
- /scvrlist - List all pending recoveries
Videos
Configuration
Donations
Doge: DEaQKfC9ivumNgs3feo53xndhjhd4PV5Yk
BTC: 3Nthksfx8fNKkUgZnHWRTaH4MjUMe4dQG8
ETH: 0xf65cB1960e176ea980545f525f687cF2354D310d
XCH: xch1jgtw6vxyy4wv302xlhyuzwtfen67w5yrvcwc2gz2us3fwtjp3uxq6hlzhc
-
View User Profile
-
Send Message
Posted Aug 27, 2013Scavenger Team!
I used to be able to change the chat line prefix of [Scavenger] to whatever I wanted. Is this no longer a feature of this plugin?
-
View User Profile
-
Send Message
Posted Aug 25, 2013@Shevchikden
Fixed in 1.3k. :)
-
View User Profile
-
Send Message
Posted Aug 23, 2013@cnaude It was essentials kill command, but faling into the void gives the same effect and stacktrace.
-
View User Profile
-
Send Message
Posted Aug 22, 2013@Shevchikden
What was the death cause when this happened? Did you fall into the void?
-
View User Profile
-
Send Message
Posted Aug 22, 2013O got that error when died in the_end
Caused by: java.lang.NullPointerException
at com.cnaude.scavenger.ScavengerEventListenerOnline.isScavengeAllowed(ScavengerEventListenerOnline.java:101)
at com.cnaude.scavenger.ScavengerEventListenerOnline.onPlayerDeathEvent(ScavengerEventListenerOnline.java:43)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:425)
-
View User Profile
-
Send Message
Posted Aug 22, 2013@jeb20
Please send me your startup log.
-
View User Profile
-
Send Message
Posted Aug 22, 2013saving equipment does not work after the death of the plugin Protocollib already set, no error.
-
View User Profile
-
Send Message
Posted Aug 21, 2013@jeb20
Are there errors in your startup log? What exactly does not work?
-
View User Profile
-
Send Message
Posted Aug 21, 2013do not work!!!
-
View User Profile
-
Send Message
Posted Aug 20, 2013@Ferby123
That is exactly permissions are for.
-
View User Profile
-
Send Message
Posted Aug 20, 2013@tuders
Rename the .ser files and restart.
-
View User Profile
-
Send Message
Posted Aug 20, 2013@cnaude
Is it possible that you can only enable it for certain players.
-
View User Profile
-
Send Message
Posted Aug 19, 2013:(
Start from under Windows XP 32
java -Xms1024M -Xmx1024M -jar craftbukkit-1.6.2-R0.1.jar
craftbukkit-1.6.2-R0.1.jar
Version: 1.6.2-R0.1 (Build #02837)
and
craftbukkit-1.6.2-R0.2-20130818.053356-14.jar
Version: 1.6.2-R0.2 (Build #02853)
2013-08-20 00:08:46 [INFO] Starting minecraft server version 1.6.2
2013-08-20 00:08:46 [INFO] Loading properties
2013-08-20 00:08:46 [INFO] Default game type: SURVIVAL
[...]
2013-08-20 00:08:53 [INFO] [Scavenger] Enabling Scavenger v1.3g
2013-08-20 00:08:53 [INFO] [Scavenger] Configuration loaded.
2013-08-20 00:08:53 [INFO] [Scavenger] Loading language file: G:\Games\MineCraftServer\plugins\Scavenger\Languages\russian.yml
2013-08-20 00:08:53 [INFO] [Scavenger] Economy disabled. Item recovery will be free.
2013-08-20 00:08:53 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet
2013-08-20 00:08:53 [SEVERE] [Scavenger] Problem deserializing item: ACUBAADw==
2013-08-20 00:08:53 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet
2013-08-20 00:08:53 [SEVERE] [Scavenger] Problem deserializing item: AWMBAADw==
2013-08-20 00:08:53 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet
2013-08-20 00:08:53 [SEVERE] [Scavenger] Problem deserializing item: ADIDAADw==
2013-08-20 00:08:53 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet
2013-08-20 00:08:53 [SEVERE] [Scavenger] Problem deserializing item: AAUBAALw==
2013-08-20 00:08:53 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet
2013-08-20 00:08:53 [SEVERE] [Scavenger] Problem deserializing item: AAUDAADw==
2013-08-20 00:08:53 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet
2013-08-20 00:08:53 [SEVERE] [Scavenger] Problem deserializing item: ACMDAADw==
2013-08-20 00:08:53 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet
2013-08-20 00:08:54 [SEVERE] [Scavenger] Problem deserializing item: ACYBAADw==
2013-08-20 00:08:54 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet
2013-08-20 00:08:54 [SEVERE] [Scavenger] Problem deserializing item: AScBAADw==
2013-08-20 00:08:54 [SEVERE] Error occurred while enabling Scavenger v1.3g (Is it up to date?)
java.lang.IllegalArgumentException: Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet
at com.comphenix.protocol.reflect.FuzzyReflection.getMethodByParameters(FuzzyReflection.java:189)
at com.comphenix.protocol.utility.StreamSerializer.deserializeItemStack(StreamSerializer.java:41)
at com.comphenix.protocol.utility.StreamSerializer.deserializeItemStack(StreamSerializer.java:68)
at com.cnaude.scavenger.RestorationManager.load(RestorationManager.java:151)
at com.cnaude.scavenger.RestorationManager.<init>(RestorationManager.java:36)
at com.cnaude.scavenger.Scavenger.onEnable(Scavenger.java:74)
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457)
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
at org.bukkit.craftbukkit.v1_6_R2.CraftServer.loadPlugin(CraftServer.java:282)
at org.bukkit.craftbukkit.v1_6_R2.CraftServer.enablePlugins(CraftServer.java:264)
at net.minecraft.server.v1_6_R2.MinecraftServer.l(MinecraftServer.java:313)
at net.minecraft.server.v1_6_R2.MinecraftServer.f(MinecraftServer.java:290)
at net.minecraft.server.v1_6_R2.MinecraftServer.a(MinecraftServer.java:250)
at net.minecraft.server.v1_6_R2.DedicatedServer.init(DedicatedServer.java:151)
at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:391)
at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)
-
View User Profile
-
Send Message
Posted Aug 18, 2013@craftovski
Should be fixed in 1.3h.
-
View User Profile
-
Send Message
Posted Aug 12, 2013==== 1 single item====
hello, i'm trying to figure out how to just have 1 thing never drop on death. like a gun. can you help me ?
-
View User Profile
-
Send Message
Posted Aug 10, 2013@cnaude
they had both .exp and .level nods and they dropped orbs
-
View User Profile
-
Send Message
Posted Aug 9, 2013@craftovski
This is normal behavior. If you do not want players drop exp orbs then set scavenger.exp to true.
-
View User Profile
-
Send Message
Posted Aug 9, 2013My players are enjoying this plugin alot, thanks scavenger team for all of your great work. :D
-
View User Profile
-
Send Message
Posted Aug 9, 2013when scavenger.level is active for some group and when they die, they keep their lvl but orbs drop and it can be abused/duped that way. Pls look into that and fix asap.
Thx
-
View User Profile
-
Send Message
Posted Jul 31, 2013craftbukkit-1.6.2-R0.1-20130731.060227-17.jar (1.6.2-R0.1 build #2824)
2013-08-01 09:04:08 [INFO] [Scavenger] Enabling Scavenger v1.3d 2013-08-01 09:04:08 [INFO] [Scavenger] Configuration loaded. 2013-08-01 09:04:08 [INFO] [Scavenger] Economy disabled. Item recovery will be free. 2013-08-01 09:04:08 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet 2013-08-01 09:04:08 [SEVERE] [Scavenger] Problem deserializing item: ACUBAADw==
2013-08-01 09:04:08 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet 2013-08-01 09:04:08 [SEVERE] [Scavenger] Problem deserializing item: AWMBAADw==
2013-08-01 09:04:08 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet 2013-08-01 09:04:08 [SEVERE] [Scavenger] Problem deserializing item: ADIDAADw==
2013-08-01 09:04:08 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet 2013-08-01 09:04:08 [SEVERE] [Scavenger] Problem deserializing item: AAUBAALw==
2013-08-01 09:04:08 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet 2013-08-01 09:04:08 [SEVERE] [Scavenger] Problem deserializing item: AAUDAADw==
2013-08-01 09:04:08 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet 2013-08-01 09:04:08 [SEVERE] [Scavenger] Problem deserializing item: ACMDAADw==
2013-08-01 09:04:08 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet 2013-08-01 09:04:08 [SEVERE] [Scavenger] Problem deserializing item: ACYBAADw==
2013-08-01 09:04:08 [SEVERE] [Scavenger] Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet 2013-08-01 09:04:08 [SEVERE] [Scavenger] Problem deserializing item: AScBAADw==
2013-08-01 09:04:08 [SEVERE] Error occurred while enabling Scavenger v1.3d (Is it up to date?) java.lang.IllegalArgumentException: Unable to find readPacket in net.minecraft.server.v1_6_R2.Packet at com.comphenix.protocol.reflect.FuzzyReflection.getMethodByParameters(FuzzyReflection.java:189) at com.comphenix.protocol.utility.StreamSerializer.deserializeItemStack(StreamSerializer.java:41) at com.comphenix.protocol.utility.StreamSerializer.deserializeItemStack(StreamSerializer.java:68) at com.cnaude.scavenger.RestorationManager.load(RestorationManager.java:152) at com.cnaude.scavenger.RestorationManager.<init>(RestorationManager.java:37) at com.cnaude.scavenger.Scavenger.onEnable(Scavenger.java:75) at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217) at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457) at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381) at org.bukkit.craftbukkit.v1_6_R2.CraftServer.loadPlugin(CraftServer.java:282) at org.bukkit.craftbukkit.v1_6_R2.CraftServer.enablePlugins(CraftServer.java:264) at net.minecraft.server.v1_6_R2.MinecraftServer.l(MinecraftServer.java:313) at net.minecraft.server.v1_6_R2.MinecraftServer.f(MinecraftServer.java:290) at net.minecraft.server.v1_6_R2.MinecraftServer.a(MinecraftServer.java:250) at net.minecraft.server.v1_6_R2.DedicatedServer.init(DedicatedServer.java:151) at net.minecraft.server.v1_6_R2.MinecraftServer.run(MinecraftServer.java:391) at net.minecraft.server.v1_6_R2.ThreadServerApplication.run(SourceFile:582)