Inactive [SEC, MECH] Scavenger v1.4.0 - Item Recovery on Death (Permissions, iConomy 4 & 5) [1.1-R4]

Discussion in 'Inactive/Unsupported Plugins' started by SirHedgehog, May 8, 2011.

  1. Offline

    SirHedgehog

    Scavenger: v1.4.0
    Reliable item recovery on death.


    Latest Download: v1.4.0 (Source)
    Unzip, copy the contents into your "plugins" folder and reload your server.

    Older releases: v1.3.0 (953) v1.2.0 (818) v1.1.0 (740) v1.0.0 (740)

    Description:
    This gives you your items back directly after you die so there is no need to pick them up again, assuming you have the correct permissions set.

    This is much more stable than NoDrop and other competitors I have seen (no dupe bug, no loss of items on logout during death).

    Permissions Integration:
    Here are the permissions that you should allow for certain actions:
    • scavenger.*
      • Grants permission to use all current and future Scavenger functionality.
    • scavenger.scavenge
      • Grants permission to recover items on death.
      • If this is not applied to the user or user group, items will drop normally.
    • scavenger.free
      • Prevents any scavenger charges from being applied.
    You can also just use *




    Coming Soon:
    • Ability to configure what is dropped and what is recovered.
    Changelog:
    • v1.4.0
      • A charge to restore a player's inventory can now be configured.
      • Supports iConomy 4 and 5.
    • v1.3.0
      • Changed the code to discard duplicate scavenges rather than using the duplicate.
      • The Scavenger notifications can now be disabled.
    • v1.2.0
      • Changed code to use my Bukkit pull request which allows slot-by-slot recovery of items (requires 766+).
    • v1.1.0
      • Added armour restoration and protection against inventory overflow.
    • v1.0.0
      • Initial release.
     
  2. Offline

    Brvtvs

    This is pretty cool, is there any chance you could add a feature to make people's drops completely disappear on death?
     
  3. Offline

    SirHedgehog

    Sure. I'll add it for the next release.
     
  4. Offline

    narrowtux

    Great! As I understand, this gives you your items back directly after you died? So you don't have to pick them up again...
     
  5. Offline

    SirHedgehog

    Exactly. I'll clear up the description.
     
  6. Offline

    Noffletoff

    Nice, works on my server, even when you die in lava. Very nice plugin.
     
  7. Offline

    FXStrato

    Interesting. What about if you fall into the Void, does it still give you the items back?
     
  8. Offline

    Noffletoff

    This isn't good. I'm getting error spam in my log.

    Code:
    2011-05-09 03:15:52 [SEVERE] Could not pass event PLAYER_MOVE to Scavenger
    java.lang.ArrayIndexOutOfBoundsException: -1
        at net.minecraft.server.InventoryPlayer.setItem(InventoryPlayer.java:178)
        at org.bukkit.craftbukkit.inventory.CraftInventory.setItem(CraftInventory.java:62)
        at me.ryall.scavenger.system.RestorationManager.restore(RestorationManager.java:60)
        at me.ryall.scavenger.listeners.PlayerListener.onPlayerMove(PlayerListener.java:17)
        at org.bukkit.plugin.java.JavaPluginLoader$7.execute(JavaPluginLoader.java:242)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:257)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:130)
        at net.minecraft.server.Packet10Flying.a(SourceFile:126)
        at net.minecraft.server.NetworkManager.a(NetworkManager.java:195)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:370)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    
    Then It's just

    Code:
    2011-05-09 03:29:47 [SEVERE] Could not pass event PLAYER_MOVE to Scavenger
    java.lang.ArrayIndexOutOfBoundsException
    2011-05-09 03:29:47 [SEVERE] Could not pass event PLAYER_MOVE to Scavenger
    java.lang.ArrayIndexOutOfBoundsException
    2011-05-09 03:29:47 [SEVERE] Could not pass event PLAYER_MOVE to Scavenger
    java.lang.ArrayIndexOutOfBoundsException
    2011-05-09 03:29:47 [SEVERE] Could not pass event PLAYER_MOVE to Scavenger
    java.lang.ArrayIndexOutOfBoundsException
    
    A friend on my server is saying that she has infinite items now, her bread is not used up, and items respawn in her inventory.
     
  9. Offline

    SirHedgehog

    Never tried it.

    Thanks for the report. I think it's happening because the armour is dropping as an item and therefore overflowing the inventory. Please remove it for now and I'll put out a fix tonight.

    What do you mean by "her bread is not used up"?

    Please try v1.1.0 beta (I haven't had time to thoroughly test this version yet but it should restore armour and fix that issue).

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jul 16, 2016
  10. Offline

    Noffletoff

    Alright, I'll test it for you :)

    I'm not sure what she meant, she just said that her bread just wasn't being consumed. I reset the server and it fixed it.

    Update: I killed myself in some lava, with armour equipped with a full inventory. No errors in my log, no infinite items so far.
     
  11. Offline

    SirHedgehog

    Thanks for the fast feedback Noffletoff :)
     
  12. Offline

    Noffletoff

    No problem, glad I could help. This plugin will save me a lot of "I died replace my items" comments. I'll have more information once my server gets more busy, my friends are the ones who usually find the problems hehe.
     
  13. Offline

    SirHedgehog

    766 includes my pull request so I will add slot-for-slot recovery tonight.
     
  14. Offline

    Thumm

    Would it be possible to add configuration for it to only recover certain items? like say a whitelist option in the config? If it's way too much I understand. :)
     
  15. Offline

    SirHedgehog

    Yes I'll be adding that and it will be configurable per Permissions group.
     
  16. Offline

    Thumm

    That sounds amazing and exactly what I was looking for. Thanks!
     
  17. Offline

    SirHedgehog

    Updated to use my pull request which allows slot-by-slot recovery.​
    Thumm I'll add item filtering within the next week if I get time.​
     
  18. Is permissions required or optional?
     
  19. Offline

    SirHedgehog

    Optional but if it's not there, only ops can use the functionality.
     
  20. if it's not there, only ops will recover their items? meh, I don't want to use permissions, but I want everyone to have the same recovery behavior. Would you be willing to put in a config option that makes that happen?
     
  21. Offline

    SirHedgehog

    Yeah, sure but it won't be a priority. Feel free to fork it and patch it, it should be easy enough to include that functionality yourself by modifying the PermissionManager (make hasGlobalPermission() return true always).
     
  22. Offline

    Alex Nolan

  23. Offline

    SirHedgehog

  24. Offline

    Garnith

    Would it be possible to add an option to have only a percentage of your inventory recovered?
    It could be a neat perk for certain races or classes on my server. :p
     
  25. Offline

    Holylon

    Hey,
    i wanted to try ur plugin, but it doesnt work for me... heres the error message of the console:
    Code:
    [SEVERE] Could not pass event PLAYER_MOVE to Scavenger
    java.lang.NoSuchMethodError: org.bukkit.inventory.PlayerInventory.setArmorContents([Lorg/bukkit/inventory/ItemStack
            at me.ryall.scavenger.system.RestorationManager.restore(RestorationManager.java:68)
            at me.ryall.scavenger.listeners.PlayerListener.onPlayerMove(PlayerListener.java:17)
            at org.bukkit.plugin.java.JavaPluginLoader$7.execute(JavaPluginLoader.java:242)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:59)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:257)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:130)
            at net.minecraft.server.Packet10Flying.a(SourceFile:126)
            at net.minecraft.server.NetworkManager.a(NetworkManager.java:195)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:74)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:100)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:370)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:285)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:394)
    
    Hope you can help me

    LG Holylon
     
  26. Offline

    SirHedgehog

    It says, in bold red, that you need Bukkit #766 which you don't seem to have.
     
  27. Offline

    Holylon

    Ah, thank u very much, i only did the plugins. For the server is someone else responsible... But now i know what to do :) *Thumbs up*
     
  28. Offline

    SirHedgehog

    :)

    You can use the older version on builds before 766.
     
  29. Offline

    edenbenedic

    could you make so permissions is not needed and defult to ops
     
  30. Offline

    Holylon

    yeah, i really dont know how to update... thats really bad :( think i must try an older version...

    And can u maybe tell me how i see my current build of bukkit?
     

Share This Page