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
@guerocraft
Should be fixed in latest dev build. https://h.cnaude.org/jenkins/job/Scavenger/18/
@cnaude http://pastebin.com/peH1hgLV
@guerocraft
What does your config look like?
Another bug: it doesnt save items in the left hand.
@cnaude
Thanks a lot, love you <3. I'll test it in a few days.
@guerocraft
Please try https://h.cnaude.org/jenkins/job/Scavenger/17/
Hi there!) Great plugin, but there is an error with latest Authme jenkins build. I use latest spigot 1.10, offline mod, offlinemod=true in your plugin. Error:
[00:04:16] [Server thread/INFO]: hardc0r issued server command: /l 123321 [00:04:16] [Craft Scheduler Thread - 0/INFO]: [AuthMe] hardc0r logged in! [00:04:16] [Server thread/ERROR]: Could not pass event LoginEvent to Scavenger v1.7-16 org.bukkit.event.EventException at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:310) [spigot.jar:git-Spigot-5391d73-00359a1] at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) [spigot.jar:git-Spigot-5391d73-00359a1] at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [spigot.jar:git-Spigot-5391d73-00359a1] at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [spigot.jar:git-Spigot-5391d73-00359a1] at fr.xephi.authme.util.BukkitService.callEvent(BukkitService.java:192) [AuthMe-5.2-SNAPSHOT-spigot.jar:?] at fr.xephi.authme.process.login.ProcessSyncPlayerLogin.processPlayerLogin(ProcessSyncPlayerLogin.java:142) [AuthMe-5.2-SNAPSHOT-spigot.jar:?] at fr.xephi.authme.process.SyncProcessManager$4.run(SyncProcessManager.java:69) [AuthMe-5.2-SNAPSHOT-spigot.jar:?] at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftTask.run(CraftTask.java:71) [spigot.jar:git-Spigot-5391d73-00359a1] at org.bukkit.craftbukkit.v1_10_R1.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:350) [spigot.jar:git-Spigot-5391d73-00359a1] at net.minecraft.server.v1_10_R1.MinecraftServer.D(MinecraftServer.java:741) [spigot.jar:git-Spigot-5391d73-00359a1] at net.minecraft.server.v1_10_R1.DedicatedServer.D(DedicatedServer.java:399) [spigot.jar:git-Spigot-5391d73-00359a1] at net.minecraft.server.v1_10_R1.MinecraftServer.C(MinecraftServer.java:672) [spigot.jar:git-Spigot-5391d73-00359a1] at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:571) [spigot.jar:git-Spigot-5391d73-00359a1] at java.lang.Thread.run(Unknown Source) [?:1.8.0_91] Caused by: java.lang.NoSuchFieldError: api at com.cnaude.scavenger.Hooks.ScavengerAuthMeReloaded.isAuthenticated(ScavengerAuthMeReloaded.java:22) [?:?] at com.cnaude.scavenger.Scavenger.isAuthenticated(Scavenger.java:479) [?:?] at com.cnaude.scavenger.ScavengerEventListenerOffline.isScavengeAllowed(ScavengerEventListenerOffline.java:129) [?:?] at com.cnaude.scavenger.ScavengerEventListenerOffline.playerLoggedOn(ScavengerEventListenerOffline.java:178) [?:?] at com.cnaude.scavenger.AuthMeListener.onPlayerOfflineModeLogin(AuthMeListener.java:22) [?:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [?:1.8.0_91] at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_91] at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [?:1.8.0_91] at java.lang.reflect.Method.invoke(Unknown Source) [?:1.8.0_91] at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:306) [spigot.jar:git-Spigot-5391d73-00359a1] ... 13 more
@Denizay22
Please verify that you are running the new version Scavenger. Your log output shows the old version. See line 1.
@cnaude
Same. In the first load of plugin, everything is normal, plugin loading succesfully. But It doesn't work. Then I stop the server, and start it again. Then I get this error : http://pastebin.com/QMJ2u0Fk
Config( the original config file, I don't touch it) : http://pastebin.com/0xNnzzgA
Sorry for bad english :/
@Denizay22
Please try the latest dev build. https://h.cnaude.org/jenkins/job/Scavenger/15/ If you continue to get that error please also pastebin your config.yml.
Hi. I get this error when i start the server: http://pastebin.com/QMJ2u0Fk I'm using PaperSpigot 1.8.8 with Scavenger 1.6-66 (I tried craftbukkit and spigot, same)
@Bodyash
Please try https://h.cnaude.org/jenkins/job/Scavenger/14/
Can u add hook to PvpArena? https://www.spigotmc.org/resources/pvp-arena.16584/updates
Old one doesnt works!
@ZwPBerserk
Wildcards won't work. You will need to explicitly declare each permission node.
For slot based recovery you must give the permission node in order to enable recovery of that slot. To drop the items simply don't give permission node.
Cmon i need to know for sure
I want some worlds to drop items and some to not drop items. But i want some donators to only drop certain slots.
Does this work? :
SlotBasedRecovery:true
In the worlds i do NOT want to drop items:
- scavenger.offhand.1 - scavenger.armour.* - scavenger.inv.*
And in the other worlds just remove the perms i DO want to drop.
@syxcrop19
Try https://h.cnaude.org/jenkins/job/Scavenger/13/
@syxcrop19
Can you provide a link to that plugin?
can you make compability with Per World Inventories? i found issues, when i died, my recovered item goes to Lobby World instead on Survival World, thanks
Or, ya' know... /gamerule keepInventory true?