[MECH] OtherDrops 2.7 - Ultimate block/mob/player drop editing [1.4.7]

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

     
  1. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    [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)
        SPECIAL_LEAFDECAY@GENERIC:
          - drop: APPLE
            chance: 5%
        SPECIAL_LEAFDECAY@BIRCH:
          - drop: DYE@BROWN
            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

    This post has been edited 84 times. It was last edited by Zarius Feb 21, 2013.
  2.  
  3. Offline

    Sorken

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Using CB 1917 and OD 2.2.1

    Code:
    14:24:31 [SEVERE] Error occurred while enabling OtherDrops v2.2.1 (Is it up to date?): MONSTER
    java.lang.NoSuchFieldError: MONSTER
            at com.gmail.zariust.common.CreatureGroup.<clinit>(CreatureGroup.java:30)
            at com.gmail.zariust.otherdrops.OtherDropsConfig.isCreature(OtherDropsConfig.java:747)
            at com.gmail.zariust.otherdrops.OtherDropsConfig.parseTarget(OtherDropsConfig.java:734)
            at com.gmail.zariust.otherdrops.OtherDropsConfig.loadDropsFile(OtherDropsConfig.java:288)
            at com.gmail.zariust.otherdrops.OtherDropsConfig.loadConfig(OtherDropsConfig.java:203)
            at com.gmail.zariust.otherdrops.OtherDropsConfig.load(OtherDropsConfig.java:131)
            at com.gmail.zariust.otherdrops.OtherDrops.onEnable(OtherDrops.java:251)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:230)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:1057)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:379)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:191)
            at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:174)
            at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:357)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:344)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:175)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
    

    This post has been edited 1 time. It was last edited by Sorken Feb 5, 2012.
  4. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    @Sorken

    Thanks - fixed that already in local build, will be in next release :)
  5. Offline

    Sorken

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
  6. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    New Version 2.3-beta2 (2012/02/06) (download)

    * remove MONSTER from group
    * fix error with WOOL@THIS (white sheep dropped black wool)
    * honor mobarena protection
    * support multiple enchantments for tools (not levels yet)
    * minor fixes and NPE catching
  7. Offline

    Celtic Minstrel

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    It's possible you already know this, but it may now be possible to implement the DEFAULT drop as a normal drop; check out Block.breakNaturally(ItemStack).
  8. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Hmm, not sure this helps us. Default drops are already normal drops (as in DEFAULT just means that the event doesn't get cancelled). What we really need is BlockBreakEvent.drops().clear(); so that we don't need to cancel the event just to cancel the drop.
  9. Offline

    Celtic Minstrel

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Yeah, but what I meant is that you could maybe have an actual drop class for DEFAULT. There may be additional complications making this impractical though.
  10. Offline

    kahlilnc

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Is it possible to drop exp from blocks with this plugin? I swear I saw it say so in the wiki some where before but I looked again and cant find it again :(

    This post has been edited 1 time. It was last edited by kahlilnc Feb 7, 2012.
  11. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Yup. Example:
    Code:
      STONE:
        - drop: XP
          quantity: 10
          chance: 50%
    
    kahlilnc likes this.
  12. Offline

    kahlilnc

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    lol :( Im dumb. . . Yet so simple
  13. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Nah, there's a lot of options so it's not always obvious what you can and can't do :) Have you looked over the documentation on BukkitDev? The wiki is kinda out of date.
  14. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Release 2.3-beta3 (download)
    * fix another NPE due to measuring "range" between two worlds (and refactor "range" safety checks into one function)
    * fix od-goldtools-basic.yml (allows you to gather ice which will produce water in nether) to drop: NOTHING in nether
    * add default_dropspread option to otherdrops-config.yml
    * fix issue where drops without a drop (eg. just a message or an event) overrode default drop
    * allow setting "default_dropspread" in config file (false means drops will be one stack unless override with a dropspread
    * handle custom damage (fixes BukkitDev ticket 65 - MCMMO custom damage causing NPE)
    * fix hawkeye logging so it only occurs on Action.BREAK

    Be careful with this one - I had to change a lot to fix the issues with drops without a drop overriding default drop. I ran it through a full test but still could have missed something - please let me know if there are any issues.
  15. Offline

    H34DSH07

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I want to make a 'job' plugin out of your plugin. How can I make that only certain people that are in a group can get a drop from certain mobs/blocks if I am using bPermissions? If I can't using bPerm then how can I do that? Do the bukkit permissions work just as good? Why don't you add support for bPerm?

    Thank-you.

    This post has been edited 4 times. It was last edited by H34DSH07 Feb 11, 2012.
  16. Offline

    H34DSH07

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Oh, nvm I just went into the config and saw the yetipermissions. I tried turnning it on and surprisingly I guess it works with bPermissions now. Thank-you for supporting bPerm even if I guess it was not wanted. ;)

    I really love that plugin btw. Keep updating! :D
  17. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I haven't really tried bPermissions - I thought it would work with the Bukkit Perms (ie. yetipermissions off) but glad it works with yetipermissions on :)
  18. Offline

    Celtic Minstrel

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    bPermissions supports superperms, so you shouldn't need yetiperms enabled.
  19. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Release 2.3-beta4 (download)

    * fix NPE when using DEFAULT drop
    * add "disable_xp_on_non_default" to stop mobs dropping XP if no default drop is added
    * allow DENY to work with explosions (denies the particular block type from exploding)
    * fish_caught "drops" are now thrown at the player from the location caught (ie. fishing rod sinker)
    * fix for some cases when logging (logblock/hawkeye/bigbrother) would log two messages for one event
  20. Offline

    H34DSH07

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Well it wasn't working before... But anyways it's working properly now

    This post has been edited 1 time. It was last edited by H34DSH07 Feb 13, 2012.
  21. Offline

    kaasinees

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Code:
    14:21:16 [INFO] [OtherDrops] Loading OtherDrops v2.2.1.
    14:21:16 [INFO] [OtherDrops:2.2.1] Events node created.
    14:21:16 [INFO] [OtherDrops:2.2.1] Events loaded: [EXPLOSION, LIGHTNING, STORM, THUNDER, SHEAR, UNSHEAR, SHEARTOGGLE, DYE, TREE, FORCETREE]
    14:21:16 [INFO] [OtherDrops:2.2.1] Loading file: otherdrops-drops.yml
    14:21:16 [INFO] [OtherDrops:2.2.1] Loading file: includes/od-fix_undroppables.yml
    14:21:16 [SEVERE] Error occurred while enabling OtherDrops v2.2.1 (Is it up to date?): MONSTER
    java.lang.NoSuchFieldError: MONSTER
            at com.gmail.zariust.common.CreatureGroup.<clinit>(CreatureGroup.java:30)
            at com.gmail.zariust.otherdrops.OtherDropsConfig.isCreature(OtherDropsConfig.java:747)
            at com.gmail.zariust.otherdrops.OtherDropsConfig.parseTarget(OtherDropsConfig.java:734)
            at com.gmail.zariust.otherdrops.OtherDropsConfig.loadDropsFile(OtherDropsConfig.java:288)
            at com.gmail.zariust.otherdrops.OtherDropsConfig.loadDropsFile(OtherDropsConfig.java:310)
            at com.gmail.zariust.otherdrops.OtherDropsConfig.loadConfig(OtherDropsConfig.java:203)
            at com.gmail.zariust.otherdrops.OtherDropsConfig.load(OtherDropsConfig.java:131)
            at com.gmail.zariust.otherdrops.OtherDrops.onEnable(OtherDrops.java:251)
            at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:230)
            at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:1057)
            at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:380)
            at org.bukkit.craftbukkit.CraftServer.loadPlugin(CraftServer.java:199)
            at org.bukkit.craftbukkit.CraftServer.enablePlugins(CraftServer.java:182)
            at net.minecraft.server.MinecraftServer.t(MinecraftServer.java:357)
            at net.minecraft.server.MinecraftServer.a(MinecraftServer.java:344)
            at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:175)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:408)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:465)
    
    Code:
    >plugins
    14:23:40 [INFO] Plugins: Backup, BKCommonLib, MobCatcher, SnoGro, My Worlds, DwarfForge, OtherDrops, DragonTravel
  22. Offline

    maller

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    You should upgrade to the latest beta version. http://dev.bukkit.org/server-mods/otherdrops/
  23. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Yup, that bug's fixed in the newest version.

    This post has been edited 1 time. It was last edited by Zarius Feb 14, 2012.
  24. Offline

    kaasinees

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    alright thats fixed.
  25. Offline

    Sorken

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    @Zarius
    Using v2.3-Beta2:
    Dropping a MONSTER_EGG@THIS from a CREATURE_BLAZE will not work. It results in a 383 generic egg which cant be used. Other mobs seem to work but i have not tested all yet though.
  26. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Release 2.3-beta5 (download link on BukkitDev page, link in top post)
    • fix bug where player drops if configured would override default drop and clear the players inventory on death
    • add WHEAT as alias for CROPS & SEED as alias for SEEDS
    • fix NPE in onPlayerInteract where item in player hands is null (shouldn't happen, as empty hands is Material.AIR - not null, but it does)
    • add BLOCK_DAMAGED as alias for LEFT_CLICK action
    • remove a debug message for enchantments that showed on each config reload
    • fix NPE where currentEvent.getTool().getShooter() is null (shouldn't happen, will investigate cause later)


    @Sorken - thanks for that - I've replicated the issue with blaze/spawn-eggs and will look into it for the next release.
  27. Offline

    kaasinees

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    please a direct link to a jar file?
  28. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
  29. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    I'll look into it.
  30. Offline

    GoldenX

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    Hi @Zarius. Is it possible to drop Spoutmaterials blocks or items from monsters with your plugin?
  31. Online

    Zarius BukkitDev Staff

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    It says "supports spoutmaterials" in the title :D

    Some people have had problems though so give it a try and let me know how you go.
  32. Offline

    Greylocke

    dev.bukkit.org profile:
    CFUSERNAME
    My Plugins (CFCOUNT)
    What am I doing wrong here? The goal is to produce either a sand, gravel, or flint when you dig in gravel with a shovel:
    Code:
        GRAVEL:
            - tool: ANY_SPADE
              drop: [SAND/10.0%, FLINT/10.0%, GRAVEL/80.0%]
    But when testing it, sometimes I get no drop, and sometimes I get an extra drop. So if I dig 10 gravels with a shovel, I'll end up with approximately 10 drops. Not exactly 10.

Share This Page