[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)
        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
     
  2. Offline

    RugRats

    In the end I had to rollback the server an hour. I'm going to have some really mad people..
     
  3. Offline

    Celtic Minstrel

    The example config specifies PLAYER@Xarqn rather than PLAYER@Zarius.

    Look here to find the maximum damage a tool can take before it breaks. The numbers listed on that page will indicate a tool that will break as soon as you try to do something with it.
     
  4. Offline

    Zarius

    I understand missing the Z to hit X but that's some serious mistyping if I hit q instead of i and n instead of u :D I just used a player name on my server for testing and forgot to change it in the example :)

    Cool - thanks for the list of damage values.

    Running my server on 1.7 but WARNING - pistons currently can corrupt your world. I'm using the PistonBlocker mod until this is fixed.

    Yup, it's SHEARS and works fine. See this page for a full list of materials from the bukkit sourcecode.

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

    RugRats

    1.7.02 fixed that problem.
     
  6. Offline

    Skirmisher

    Yeah, I kinda just assumed that by glancing at the X :p

    BTW, does specifying a leaf type on the end of SPECIAL_LEAFDECAY (e.g. SPECIAL_LEAFDECAY@BIRCH) work? I'm guessing not, but I'm just checking. Would be a nice thing to have if it doesn't work :D
     
  7. Offline

    Celtic Minstrel

  8. Offline

    Zarius

    Yup - but make sure you're using CraftBukkit 953 otherwise you wont have fixed it. I've been running 953 with pistons enabled for a few hours now and seems ok but I'm still a bit wary :)
     
  9. Offline

    RugRats

    Lol I've been using 953 and 1.702 since 3 minutes after the RB came out.
     
  10. Offline

    gsand

    Hi, I tried to make it so that creepers don't drop anything if they're on fire or drowning fire and drowning but it won't work.

    Code:
    CREATURE_CREEPER:
                - tool: ALL
                  toolexcept: [DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
                  drop: IRON_INGOT
                  quantity: 1
                  chance:10
    Am I doing it wrong?

    Thanks!
     
  11. Offline

    Butterquark

    I am trying to make ripe crops drop cocoa. I updated to bukkit 953 and i have otherblocks 0.9.4
    ill try updating to 0.9.7 when i get a chance.

    this is the config node

    Code:
        CROPS@RIPE:
             - tool: ANY
               drop: INK_SACK@BROWN
               chance: 3
    
    This is the error i get
    Code:
    17:06:16 [SEVERE] java.lang.IllegalArgumentException: No enum const class org.bukkit.Material.INK_SACK@BROWN
    17:06:16 [SEVERE]       at java.lang.Enum.valueOf(Enum.java:214)
    17:06:16 [SEVERE]       at org.bukkit.Material.valueOf(Material.java:14)
    17:06:16 [SEVERE]       at com.sargant.bukkit.otherblocks.OtherBlocks.loadConfig(OtherBlocks.java:318)
    17:06:16 [SEVERE]       at com.sargant.bukkit.otherblocks.OtherBlocks.onCommand(OtherBlocks.java:141)
    17:06:16 [SEVERE]       at org.bukkit.command.PluginCommand.execute(PluginCommand.java:35)
    17:06:16 [SEVERE]       at org.bukkit.command.SimpleCommandMap.dispatch(SimpleCommandMap.java:129)
    17:06:16 [SEVERE]       at org.bukkit.craftbukkit.CraftServer.dispatchCommand(CraftServer.java:290)
    17:06:16 [SEVERE]       at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:480)
    17:06:16 [SEVERE]       at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:465)
    17:06:16 [SEVERE]       at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    17:06:16 [SEVERE]       at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
     
  12. Offline

    RugRats

    Btw that doesn't work. There isn't an error, it just doesn't work :p
     
  13. Offline

    sirvulcan

    Leaf decay also isnt working for me. Ive tried various different config variations including the one above and the ones from the wiki. The configuration file has validated with no issues. Console messages show the plugin loading the leaf decay lines.
     
  14. Offline

    po5

    I have an idea to make crops yield 1 random dye on top of 1 wheat and 1 seed. How would i do this? :)
     
  15. Offline

    Taranis01

    @gsand
    the exception doesnt work or the whole thing with dropping Ironingots?
    try the following:

    Code:
    CREATURE_CREEPER:
                - tool:  [DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
                  drop: AIR
                - tool: ALL
                  drop: IRON_INGOT
                  quantity: 1
                  chance:10
     
  16. Offline

    Celtic Minstrel

    Huh, I thought cyklo had already implemented a way to make drops based on what a jukebox is playing, but apparently not.

    Code:
        CROPS@RIPE:
             - tool: ANY
               drop: DYE
               color: BROWN
               chance: 3
    
    Not sure if it'll work, but try the above node except replace BROWN with 0-15.
     
  17. Offline

    gsand

    That's exactly what I wanted. It completely disables farming.

    Awesome!

     
  18. Offline

    Zarius

    Yeah, seems to be broken :( Will look into it later (busy with family this weekend so probably Sunday evening). In the meantime try and older version (perhaps even just 0.9.6) from here.
     
  19. Offline

    sirvulcan

    Just to confirm, leaf decay is working for me in 0.9.6

    Seeing as leaf decay blocks can be split up based on tree type, is there any way to get it to drop a specific sapling type in each block?

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

    Taranis01

    @sirvulcan
    there is nothing wrote about this at the wikim but why dont trying "SAPLING@GENERIC"? im sure that works.
    @Zarius
    im surprised that different leaves works because giving yourself different leaves doesnt works ( /i 18;1, /i 18;2 giving you the same leaves). Am im doing something wrong?
     
  21. Offline

    Zarius

    Actually for the drops you can't use the block@color style yet. Try the following:

    Code:
            GRASS:
                 - tool: ALL
                   drop: SAPLING
                   color: BIRCH
                   quantity: 1
    
    @Taranis01

    Not sure, haven't really used the /i command - perhaps it's a problem with that command? I didn't have to do anything odd to get the different leaves working in OtherBlocks.

    Does changing the drop of CREATURE_SHEEP work ok with the 1.7 changes? (I can't test this until tomorrow)

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

    RugRats

    Nope :/ it doesn't work
     
  23. Offline

    Zarius

    Hmm, curious. I saw that another drop plugin had a problem with this in 1.7 too. Since OtherBlocks cancels the event (which means the default drop should not occur) if you replace the drop I wonder if it's a Bukkit issue?
     
  24. Offline

    Taranis01

    it doesnt work with the serverside /give command too, i just tested and then reported it to bukkit. But i guess its mojangs fault, not bukkits.
     
  25. Offline

    icephantom

    A quick question - Is there any way to get this to work using ID numbers either instead of, or as well as, using names please ?
    The reason I ask is that when you add a mod which introduces new ID blocks, there's no way currently to modify the drops. Great plugin though and thanks for providing it.
     
    Taranis01 likes this.
  26. Offline

    Zarius

    Yes, I already have this coded but haven't tested it yet. Should be in version one which I hope to get out in the next few days.
     
    icephantom likes this.
  27. Offline

    m5k

    Can't wait for per-group drops support. I'd suggest doing it like this:
    Adding a line
    Code:
    groups: miner, builder, etc
    to the main config. Then the plugin knows that miners/builders/etc get limited drops, so it checks for a miner.yml, builder,yml, etc.
    The miner.yml should contain a config in this format:
    Code:
    DIAMOND_ORE
    COAL_ORE
    GROUP_BUILDER
    This would mean that the miner permissions group only gets special drops from diamond ore and coal ore, which you configure in the main config file.
    The GROUP_BUILDER means that miners also get all drops from the builder list, with the addition to the diamond and coal mentioned above.
    What do you think about this type of configuration? I think this would cover every possible niche and provide limitless customization.

    Props for the insane work you've done here. This has tons more functionality than DropEdit now. The only feature missing is per-permissions group drops.

    If you added per-group functionality this plugin would be better than cookiemonster and dropedit COMBINED.
     
  28. Offline

    Taranis01

    @m5k
    how would u configure, that 2 groups get different drops for DIAMOND_ORE ?
    i would say, if splitted configs, than u also write whole drops related to that group into its own file.
    but Zarius said he will just make a new line for groups
     
  29. Offline

    RugRats

    Yea I think it might be.
     
  30. Offline

    Celtic Minstrel

    @m5k – That's more work than really necessary when he can just use the Permissions plugin to handle groups.

    Prior to 1.7, the leaves variety was a block property only and did not exist for leaves as items. In 1.7, leaves as items now have a variety, so you can drop different kinds of leaves by specifying the colour.

    Additionally, the server-side /i command is from neither Bukkit nor Mojang; it's a command provided by a plugin, so if /i 18;1 does not work you should take it up with the plugin author (DefaultCommands, General, Essentials, and CommandBook are the main plugins that provide this command).
     
  31. Offline

    m5k

    You'd have to make permission nodes for every single block/entity/player/group in the game then. It doesn't work that way.
     

Share This Page