[MECH] OtherDrops 2.8- Ultimate block/mob/player drop editing [1.5.2]

Discussion in 'Archived: Plugin Releases' started by Zarius, Jun 12, 2011.

  1. Offline

    Zarius

    [​IMG]


    Want to fix glass/stairs/boat drops? Want to gather ice/glowstone/grass in a balanced manner? Want to smelt ore with golden tools? Want to cause chaos with undead that rise again? Now you can, simply by enabling the included example files or delve into the more advanced customisation and make drops work the way you want.

    OtherBlocks aims to give you ultimate control over what item that blocks/entities drop when destroyed, depending on how they were destroyed. Compatible with WorldGuard. Lightweight! Only scans what it needs to and ignores the rest.
    Download: BukkitDev (download link on there) | Source Code

    Included Modules
    * Fix undroppables: fix drops for stairs, glass (don't use your hands - ouch), boats & bookshelves (1.8 stairs included)
    * Gold tools (basic): gold tools have a chance of dropping the complete block for grass, ice & glowstone.
    * Gold tools (smelt): gold tools have a chance of mining an ingot directly from ores.
    * Ore Extraction: using the usual tools, ingots are ripped out of ores, leaving the stone behind.
    * Leaf overhaul: adds leaf drops (apples, cocoa, leaves, sticks & a very small chance of golden apple).
    * Undead Chaos: beware the night! Zombies & skeletons rise again and even players rise back from the dead (player deaths spawn more zombies/skeletons).
    * and more...

    Custom Configuration Examples
    Code:
        # Simple glass drop fix
        GLASS:
          - drop: GLASS
     
        # Players drop Zombies on death, 50% of the time
        PLAYER:
          - drop: CREATURE_ZOMBIE
            chance: 50%
     
        # Spiders killed with any sword at night have a 10% chance to drop web,
        # otherwise they drop whatever they normally would
        CREATURE_SPIDER:
          - tool: ANY_SWORD
            time: NIGHT
            drop: WEB
            chance: 10%
     
        # Trees drop apples (or cocoa from birch trees)
        [email protected]:
          - drop: APPLE
            chance: 5%
        SPECIA[email protected]:
          - drop: [email protected]
            chance: 5%
    
    If you are getting errors with the word "snakeyaml" in it, your config file isn't properly formatted.
    Test it on this website (or this one).

    See the dev.bukkit page for full details on how to set up OtherDrops, a complete parameters list and further examples.


    Changelog

    Newest changelog details here.


    Main author: @Zarius
    Contributors: @Celtic Minstrel, raws
    Original author: @cyklo
     
  2. Offline

    Celtic Minstrel

    @Zarius – presumably you've taken a look at comments and tickets on the BukkitDev site? In particular, the missing logging support seems like something that should be fixed before release.

    Also, just so you know, all the changes I've made are on my github; there's none sitting not pushed, so no need to worry about duplicating my work since I'm a bit busy with other stuff right now.
     
  3. Offline

    RugRats

    and after that happens I can go back to using this wonderful plugin :D
     
  4. Offline

    Zarius

    @Celtic Minstrel - Yup.. not sure about the logging - I thought LogBlock and BigBrother support was still working (but haven't tested it specifically in the last couple of beta's. HawkEye looks like a new popular one that will need supporting.

    Mainly just jumped back in tonight and fixed a few of the more awkward bugs (eg. tools not damaging properly) and will release Beta 8, then sleep :D Assuming no showstopper bugs I'll look into the logging stuff for Beta 9 and then hopefully we can get out of betas and into a release :D
     
  5. Offline

    Celtic Minstrel

    I think the code for the logging is still there but not being called. You may also want to look at Guardian support later on, once it's finished (maybe for 2.5 or something).
     
  6. Offline

    RugRats

    Zarius please consider logging for HawkEye in the next beta.. I would love to use this plugin but I can't track things like glass, thin_glass and glowstone for example with otherdrops.. :(
     
  7. Offline

    Zarius

    Ok, no guarantees - but here's a pre-release of Beta8 with a few fixes (and an attempt at HawkEye logging - not tested at all - don't know if the code I wrote will even be executed).

    Short list of changes:
    * tools should now damage properly on blocks that drops configured.
    * PROJECTILE_ARROW (and [email protected]) should be fixed (need to test [email protected]).
    * money precision defaults to 2 decimal places correctly now.
    * colors in messages should work fine now
    * other bugs may be fixed...

    It's 2am so I need to head to bed - will check the forums tomorrow.
     
  8. Offline

    RugRats

    @Zarius
    Code:
    2011-11-14 06:12:50 [SEVERE] Could not pass event LEAVES_DECAY to OtherDrops
    java.lang.NoClassDefFoundError: uk/co/oliwali/HawkEye/util/HawkEyeAPI
        at com.gmail.zariust.otherdrops.OtherDrops.queueBlockBreak(OtherDrops.java:313)
        at com.gmail.zariust.otherdrops.OtherDrops.performDrop(OtherDrops.java:350)
        at com.gmail.zariust.otherdrops.listener.OdBlockListener.onLeavesDecay(OdBlockListener.java:70)
        at org.bukkit.plugin.java.JavaPluginLoader$35.execute(JavaPluginLoader.java:499)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
        at net.minecraft.server.BlockLeaves.g(BlockLeaves.java:124)
        at net.minecraft.server.BlockLeaves.a(BlockLeaves.java:115)
        at net.minecraft.server.World.i(World.java:1891)
        at net.minecraft.server.World.doTick(World.java:1638)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:461)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)
    Caused by: java.lang.ClassNotFoundException: uk.co.oliwali.HawkEye.util.HawkEyeAPI
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:36)
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:24)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        ... 13 more
     
  9. Offline

    Sepulzera

    Killing mobs looks bit strange now, as you deny the animation :D
     
  10. Offline

    user1234567890

    I'm sorry for the debugging questions I have asked recently. It turns out I was rather ill-informed pluginwise while posting.
    We've been running 1185 for a while now, as well as one of the compatible OD versions. It hadn't been working ever since we installed it. The server we run launched back in January, and OD worked fine all the way up until the funding crash in July. We got a server back up and running in August, and OD didn't work at all. We did some debugging, and I thought we had already run it through a YML parser.
    But this was not the case. One of the people with access to FTP updated us to 1337, and the other didn't know it. The person who updated didn't know this plugin hadn't updated to 1337 yet. The person who didn't know we had updated ran the config through a YML parser post-update, and found a tab...
    He pasted the fixed version into where the old version had been, and it still didn't work. He didn't know what to think. Neither did the rest of us.
    Just recently, everything came together. The guy who didn't know we had updated discovered that we had, and the guy who updated discovered that OD 1185 wasn't compatible with 1337. He had thought that 1137 hadn't changed anything that would affect OD, whereas it actually changed a bunch of config-related things.
    I had known part of what both individuals were saying, but I didn't know they didn't know what the other was saying. Miscommunication has perhaps led to an entirely pointless debugging campaign.
    I will let you know if prerelease beta 8 fixes anything.
     
  11. Offline

    Jadedwolf

    So far that seems to have worked with logging, however huge issue though, it shows up as other - ODBLOCK_BREAK_GLASS etc, thus when rollbacked, does not rollback the blocks broke buy the custom functions.
    I have yet to get any errors, yet.

    TL;DR: Logging works, rollback does not.
     
  12. Offline

    Zarius

    Cool - I'm glad it's working. I was aware that the rollback wouldn't work - should have made that clear. I only had a short time and wanted to at least allow you to see who did what.

    I'm using a custom event rather than the normal event. The normal events can be logged but I'm not 100% sure how it works (there's info here) in terms of the last data string.

    Eg (note: written from memory, "DataType" is not exact I know):
    Code:
    //HawkEyeAPI.addEntry(JavaPlugin plugin, DataType type, Player player, Location location, String data);
    
    HawkEyeAPI.addEntry(this, DataType.BLOCK_BREAK, player, block.getLocation(), dataString??);  // is datastring just the name of the material being broken?
    
    @user1234567890 - thanks for that - hope beta8 prerelease works for you.
     
    RugRats likes this.
  13. Offline

    Jadedwolf

    All I ask, is that rollback support be on the list of things needing to be done asap. This is a nice plugin and i would hate to have to add it to my list of meh plugins, because a feature so badly needed for any server that has a large community. like mine.
     
  14. Offline

    Zuber

    Hey guys, I have a little problem ...
    Monsters on my server drop money with very much decimals ...
    How can I fix this ?
     
  15. Offline

    Legolas75893

    We got it working, Zarius! Finally. Still don't know what the error WAS, but it now works! :3 Also, we managed to find the drops before our server crashed and lost all the data, so I even haz that :3

    Also, replacementblock with burning working now? Cuz I just had an amazing idea for it.

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

    Kane

    @Zarius How many more months till 2.0 not beta :p Also I assume this works with the bukkit api stuff perfectly so it should work with new mobs/drops?
     
  17. Offline

    Zuber

    Nobody can help me ?
     
  18. Offline

    user1234567890

    Error was one of two things:
    A. We had CREATURE_ENDERMAN in that drop file.
    B. It was that tab you put in that we fixed post-1337...
    Btw, why don't endermen work? I'd like to hellify them...
     
  19. Offline

    Celtic Minstrel

    This actually sounds like a stretch to fit it into the idea of OtherDrops...
     
  20. Offline

    Legolas75893

    Well, Zarius was working on it a longggg time ago, but never finished.
     
  21. Offline

    p000ison

    Hey,
    im not sure if it could work but here my idea:

    I want to restrict the drop for everyone, who haven't a specific permissions node.
    So for example I have a Group1 and a Group2.
    Group1 should not drop anything. (I dont give it the permission node)
    Group2 should so I give it the node: otherdrops.custom.droplog
    I think to get this work there must be priority settings.
    With this it doesnt work:

    Code:
        LOG:
            - drop: NORMAL
              permission: droplog
            - drop: NOTHING
    Maybe something like that must be there:​
    Code:
        LOG:
            - drop: NORMAL
              permission: droplog
              priority: 2
            - drop: NOTHING
              priority: 1
    Maybe someone could help me. Im not sure if its already implemented...​
    MfG p000isoon​
     
  22. Offline

    Kane

    Error with beta 8

    Code:
    17:48:13 [SEVERE] Could not pass event PLAYER_INTERACT_ENTITY to OtherDrops
    java.lang.NullPointerException
            at com.gmail.zariust.common.CommonEntity.getCreatureData(CommonEntity.java:78)
            at com.gmail.zariust.otherdrops.subject.CreatureSubject.<init>(CreatureSubject.java:57)
            at com.gmail.zariust.otherdrops.event.OccurredDropEvent.getEntityTarget(OccurredDropEvent.java:471)
            at com.gmail.zariust.otherdrops.event.OccurredDropEvent.<init>(OccurredDropEvent.java:205)
            at com.gmail.zariust.otherdrops.listener.OdPlayerListener.onPlayerInteractEntity(OdPlayerListener.java:50)
            at org.bukkit.plugin.java.JavaPluginLoader$12.execute(JavaPluginLoader.java:337)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:902)
            at net.minecraft.server.Packet7UseEntity.a(SourceFile:33)
            at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
            at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
            at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:546)
            at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
            at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:516)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:414)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    
     
  23. Offline

    Undectectable

    I beleive the term for this plugin is genius :)
    Anyway ill be working to try and recreate what i was doing before whereby i use it to limit drop rates
    thanks developers :)
     
  24. Offline

    Kane

    Think this plugins dead :(
     
  25. Offline

    QQCucumber

    What makes this plugin dead exactly? They're updated to the latest RB.
     
  26. Offline

    Kane

    All new mobs throws out errors :p
     
  27. Offline

    QQCucumber

    There is no 1.0 RB yet. Just because a plugin is choosing not to release versions for dev builds doesn't mean it's dead.
     
  28. Offline

    Celtic Minstrel

    ...and it looks like Zarius disappeared again. Well, I'm probably not going to be able to do an update in the next week, anyway.
     
    RugRats likes this.
  29. Offline

    Jadedwolf

    This makes me a sad panda when a good plugin is lacking because of devlopers being not around.
    This is a very unique plugin that needs a dev that will be active and willing to keep this plugin in working order.
     
  30. Offline

    Kane

    I assumed so <3 DEAD :(

    Oh well
     
  31. Offline

    QQCucumber

    ..You do realize Celtic Mistrel is a co-author, right? It's not dead.
     

Share This Page