[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

    Skirmisher

    Gah, I knew you had to stop breaking things sometime :p
    Here's my config:
    Config (comments removed for clarity) (open)
    Code:
    verbosity: normal
    priority: lowest
    
    otherblocks:
        LEAVES@GENERIC:
            - tool: ANY
              drop: APPLE
              chance: 25
        SPECIAL_LEAFDECAY@GENERIC:
            - drop: APPLE
              chance: 10
        BOOKSHELF:
            - tool: ANY
              drop: BOOKSHELF
        BEDROCK:
            - tool: ANY
              drop: BEDROCK
        CREATURE_SKELETON:
            - tool: ANY
              drop: DEFAULT
            - tool: ANY
              drop: BOW
              chance: 10
        CREATURE_PIG@SADDLED:
            - tool: ANY
              drop: SADDLE
            - tool: ANY
              drop: DEFAULT
        CROPS@RIPE:
            - tool: ANY
              drop: DYE
              color: BROWN
              chance: 25
        CREATURE_MONSTER:
            - tool: ANY
              drop: CREATURE_ZOMBIE
              chance: 10
        PLAYER:
            - tool: ANY
              drop: DEFAULT
            - tool: ANY
              drop: CREATURE_ZOMBIE
              chance: 1
     
  3. Offline

    saumonzx

    I can't make the plugin work. When I start it, I reload with essential, and than I modify the config.yml, than otheritemreload (Something like this), and then, it say that an error ocurred.
    Than, the command doesn't work anymore !
    What do I need to make the plugin work? Is there any incompatibility ? (PS: Sorry for my english, not my main language)
     
  4. Offline

    Zarius

    I found out what the problem was - if you didn't set "usepermissions: true" then the /obr command gave an error. You need to add this line or try out version 1.0 (even if just to look at the example config files) as I fixed this (now with permissions off /obr only works for ops).

    Hi saumonzx, your problem is probably the same - I've fixed this bug in version 1.0, perhaps try out the beta version (see my post two posts up)?
     
  5. Offline

    Skirmisher

    Yeah, my config was generated with cyklo's OtherBlocks and therefore doesn't have the new settings of your versions. I'll add this now and give beta 1.0 a try.

    Edit: Hey, you changed the config name on me! :p
    I went ahead and "imported" my old config into the new config with all the extra examples, and added the extra example files. /obr works perfectly in-game and in the console with permissions disabled. :D
     
  6. Offline

    ray0911

    Great plugin!

    I had used BMOB plugin to limit spec mobs from spawning. I was wondering if it would be easy to just pop some of his source code in to give us the option to also limit spec mobs from spawning also. BMOB plugin has been broke for a while and now its auto healing everyone.

    Ty!
     
  7. Offline

    godsyn

    Code:
    02:17:49 [SEVERE] Could not pass event PAINTING_BREAK to OtherBlocks
    java.lang.NullPointerException
            at com.sargant.bukkit.otherblocks.OtherBlocksEntityListener.onPaintingBreak(OtherBlocksEntityListener.java:283)
            at org.bukkit.plugin.java.JavaPluginLoader$55.execute(JavaPluginLoader.java:627)
            at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
            at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:321)
            at net.minecraft.server.EntityPainting.damageEntity(EntityPainting.java:205)
            at net.minecraft.server.Explosion.a(Explosion.java:143)
            at net.minecraft.server.World.createExplosion(World.java:1458)
            at net.minecraft.server.WorldServer.createExplosion(WorldServer.java:145)
            at net.minecraft.server.EntityTNTPrimed.explode(EntityTNTPrimed.java:88)
            at net.minecraft.server.EntityTNTPrimed.m_(EntityTNTPrimed.java:66)
            at net.minecraft.server.World.entityJoinedWorld(World.java:1190)
            at net.minecraft.server.WorldServer.entityJoinedWorld(WorldServer.java:48)
            at net.minecraft.server.World.playerJoinedWorld(World.java:1172)
            at net.minecraft.server.World.cleanUp(World.java:1102)
            at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:447)
            at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
            at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    OtherBlocks-0.9.9.2
    Craftbukkit-978
    Steps to reproduce:
    1. Place painting.
    2. Place TNT near.
    3. Detonate TNT.
     
  8. Offline

    Zarius

    Hmm, that's a little outside OtherBlocks jurisdiction at the moment. OtherBlocks is more about controlling what drops on block breakage and entity deaths.

    This would probably be better as a separate plugin controlling mob spawns (other things could be a chance of spawning with a lightning bolt, a splash of water or lava, etc).

    Oops - forgot to mention that :D I got sick of the numerous "config.yml" files in my text editor and trying to work out which is which - so the globalconfig file is now more obviously for OtherBlocks :)

    What do you think of the new include-files system? I think it makes it much easier for me to include some examples and I can now easily set up a completely new file for each world if I wish (with some "common" changes in other files or the global config). I guess the hardest part is writing the documentation to make sure it's clear and doesn't confuse people too much :)


    Hmm, looks like I missed something in the onPaintingBreak() function - will take a look tonight. Can I ask what you're using the painting break option for? Just curious because I haven't come up with a good example for it's usage :)

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 16, 2016
  9. Alright, I'm having a weird issue.

    Zombies are currently set up to drop a variety of things, and that part is working just fine.

    However.

    Show Spoiler

    - tool: ANY
    drop: FEATHER
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1-3
    chance: 20
    world: Aether


    They're still dropping feathers in the overworld when killed, and they're not suppose to.
     
  10. Offline

    Zarius

    Hmm, multiworld is working fine for me. Also, zombies drop feathers by default so they should be dropping feathers in any other world unless you've set them specifically not to.

    Are you looking for something like this?

    Code:
        CREATURE_ZOMBIE:
            - tool: ANY
              drop: FEATHER
              toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
              quantity: 1-3
              chance: 20
              world:Aether
            - tool: ANY
              drop: NOTHING
              world: world
    
     
  11. Offline

    ray0911

    True-true. Keep up the good work! :D
     
  12. I don't think so. I want them dropping other stuff in the 'world'.

    Show Spoiler

    otherblocks:
    REDSTONE_ORE:
    - tool: IRON_PICKAXE
    drop: REDSTONE_ORE
    quantity: 1
    chance: 100
    - tool: DIAMOND_PICKAXE
    drop: REDSTONE_ORE
    quantity: 1
    chance: 100
    DIAMOND_ORE:
    - tool: IRON_PICKAXE
    drop: DIAMOND_ORE
    quantity: 1
    chance: 100
    - tool: DIAMOND_PICKAXE
    drop: DIAMOND_ORE
    quantity: 1
    chance: 100
    WOOL:
    - tool: SHEARS
    drop: STRING
    quantity: 1-4
    chance: 100
    CREATURE_WOLF:
    - tool: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    drop: NOTHING
    - tool: ANY
    drop: FIRE
    quantity: 1-3
    chance: 100
    world: Eire_nether
    - tool: ANY
    drop: FLINT
    quantity: 1-3
    chance: 50
    world: Eire_nether
    CREATURE_ZOMBIE:
    - tool: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    drop: NOTHING
    - tool: ANY
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    drop: COOKIE
    quantity: 1-3
    chance: 30
    - tool: ANY
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    drop: BONE
    quantity: 1
    chance: 30
    - tool: ANY
    drop: LEATHER_CHESTPLATE
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1
    chance: 1
    - tool: ANY
    drop: LEATHER_LEGGINGS
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1
    chance: 1
    - tool: ANY
    drop: LEATHER_BOOTS
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1
    chance: 1
    - tool: ANY
    drop: LEATHER_HELMET
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1
    chance: 1
    - tool: ANY
    drop: FEATHER
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1-3
    chance: 20
    world: Aether
    CREATURE_SKELETON:
    - tool: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    drop: NOTHING
    - tool: ANY
    drop: BOW
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1
    chance: 5
    - tool: ANY
    drop: ARROW
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1-10
    chance: 30
    - tool: ANY
    drop: BONE
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1-3
    chance: 30
    - tool: ANY
    drop: FEATHER
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1-3
    chance: 20
    world: Aether
    CREATURE_COW:
    - tool: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    drop: NOTHING
    - tool: ANY
    drop: LEATHER
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1-2
    chance: 30
    - tool: ANY
    drop: PORK
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1-2
    chance: 10
    CREATURE_SPIDER:
    - tool: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    drop: NOTHING
    - tool: ANY
    drop: WEB
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1-2
    chance: 30
    - tool: ANY
    drop: STRING
    toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
    quantity: 1-2
    chance: 30
    SPECIAL_LEAFDECAY:
    - drop: LEAVES
    chance: 2
    - drop: SAPLING
    chance: 2


    This is my whole config file. The problems I'm having are:
    Zombies still drop feathers in the 'world', when they're only supposed to drop them in the Aether. (If I understand this correctly). Do I specifically have to tell them NOT to drop it in the 'world' if I've specified other drops?

    Also: My Redstone Ore is still dropping dust, not ore.
     
  13. Offline

    Zarius

    What happens is that the plugin goes through the custom drops that meet the criteria (eg. for world) and if none of these match it will drop the default item. By placing a "drop: NOTHING" item at the start of the block you ensure that nothing except what you define afterwards will be dropped.

    Try this:

    Code:
      CREATURE_ZOMBIE:
        - tool: ALL
          drop: NOTHING
    (.... add in all your extra chances of drops here...)
        - tool: ANY
          drop: FEATHER
          toolexcept: [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
          quantity: 1-3
          chance: 20
          world: Aether
    
    For redstone you also currently need to define a drop for GLOWING_REDSTONE_ORE as it is technically a different block.
     
  14. Offline

    Steelstiletto

    I'm having some issues, I currently don't drop rewards when players kill me. I do drop a zombie though, just like everyone else, but I don't think I'm dropping my default loot either. Here is the relevant code:

    Code:
            PLAYER:
                - tool: ALL
                  drop: CREATURE_ZOMBIE
            PLAYER@steelstiletto:
                - tool: ANY_SWORD
                  drop: GOLDEN_APPLE
    
     
  15. Offline

    Zarius

    What version are you using? Before version 1.0 (there's a beta download up there) player drops default to no inventory dropped unless you place a drop: DEFAULT entry somewhere.

    I have changed this in version 1.0 so the default is to drop player inventories and you need drop: NODROP if you really want to suppress this.

    As for the named drop, that should work fine (in fact I'd guess it's working if you are not dropping your default loot) - perhaps try with a few other names so you can watch what happens when another player gets killed?
     
  16. Offline

    Steelstiletto

    Ah, the apple drop is working. I saw the beta version, but wasn't sure how stable it was so didn't want to introduce it to my server quite yet. Is it pretty good for release?

    We've made it zombie night horror on my server, where a zombie killed at night has a 70% chance of dropping 1-3 zombies, and a player death results in a zombie. Also, the two admins have rare drops if you can kill them, one drops a diamond, and I drop a golden apple.
     
  17. Offline

    Zarius

    Cool - the zombie night horror sounds great :) I've got my zombies and skeletons having a small chance of "rising again" but a themed night (with no day voting :D) of lots of zombies would be cool :D

    Version 1.0 should be stable - give it a go (I usually run a simple test server with my config to make sure things work before upgrading the main server). I just wanted to give it some testing before releasing an official 1.0 version - also waiting on the addition of drop groups.
     
  18. Offline

    Steelstiletto

    Yeah, we had a vote day option for a while until I realized that the Runecraft mod had a rune that you could use to change the time. Now, if they want to save themselves, they have to get to the sun dial and make it day. Makes it an adventure.

    I'll go ahead and install version 1 and let you know how it works.

    ~edit~

    I'm reading over one of the example configs, catballs, and see that he added a lot of creature drops. Do those overwrite the default drops, or are they in addition? My users make use of teh squid from inks when making teleporters, so I wouldn't want that to stop dropping. Same with the SPECIAL_LEAFDECAY, we need those saplings.
     
  19. Offline

    Zarius

    If any drop is at 100% it will override the default useless you add a "drop: default" line. otherwise you can just add another option yourself for eg. Saplings and customise to your liking.
     
  20. Offline

    Steelstiletto

    Oh man, I'm trying it out now, and I love it. The ability to have different files is great, so everything is more organized. Also, the example configs are great. I especially love the catballs one. I'm now using that, the leaf one that is included, one for the zombie horror night, and one file for the encouragement of admin hunting. Catballs is especially great because it will encourage my players to hunt at night rather than turning it to day. As long as they aren't hunting Zombies at least. Mwahaha!
     
  21. Offline

    Zarius

    Glad you're enjoying it - would love to see more examples configs to include, might try and set up a repository somewhere somehow :)

    The final version 1.0 is coming along nicely, group drops are almost coded and got a new permissions system that is more customisable.
     
  22. Offline

    RugRats

    How can I set these up :eek: I have no idea Lol I really like the glass hurts player idea and having golden tools be more powerful (If thats what that option does)
    • add extra damage to tools or leave at the default (1 damage)
    • allow furnaces to drop their contents
    • damageattacker: allows you to set damage that occurs whenever this object is killed/broken (eg. glass broken with bare hands could hurt the player) With this I would like it to say You have been hurt by a shard of glass ;O! and make it like 25% of the time.. seems pretty cool.
     
  23. Offline

    Zarius

    Add extra damage, just add a "damage: #" line to whichever drop you want (where # is the amount of damage to the tool). I'll be renaming this to "damagetool:" later.

    Attacker damage is the same, add "damageattacker: #" to the drop (the glass example in ob-fix_undroppables.yml already has this).

    eg.
    Code:
        # If a player uses their hands they get no drop and hurt themselves two points (one heart).
        COBBLESTONE:
            - tool: AIR
              drop: NOTHING
              damageattacker: 2
    
        # If you use a gold pickaxe you get stone but it does 5 damage to the tool.
        STONE:
            - tool: GOLD_PICKAXE
              drop: STONE
              damage: 5
    
        # Fix the furnace: always drop the contents but only give back a furnace if a pickaxe was used
        ANY_FURNACE:
            - tool: ANY
              drop: CONTENTS
            - tool: ANY_PICKAXE
              drop: FURNACE
    
    Next version of OtherBlocks will include the furnace fix in the fix_undroppables file.
     
  24. Offline

    Celtic Minstrel

    Use ANY_REDSTONE_ORE instead; saves you the trouble of duplicating everything.

    If you want the tool to receive 2 damage, then put 'damage: 2' as part of the drop. I'm 80% sure that that works, though I wouldn't recommend doing it if the tool is not something that can be damaged.

    Pretty sure they already do by default, but for that you can set 'drop: CONTENTS'.

    EDIT: Aagh, Zarius ninja'd me there!
    First make damagetool a synonym, then remove damage a few versions later.
     
  25. Offline

    RugRats

    Now with the glass can this be possible soon?

    Code:
    GLASS:
         - tool: ANY
           drop: GLASS
           quantity: 1
           damageattacker: 2
           message: You have been hurt by a shard of glass! :O
           chance: 25
    Now I would like glass to drop glass no matter what but 25% of the time they would get hurt by it and that message would come up only when breaking glass with your hand.
     
  26. Offline

    Zarius

    @RugRats
    Yup - the following should work:

    Code:
        GLASS:         
            - tool: ANY
              drop: GLASS
              quantity: 1
            - tool: AIR
              drop: NOTHING
              damageattacker: 2
              message: "You have been hurt by a shard of glass! :O"
              chance: 25
    

    @Celtic Minstrel

    Furnaces: oops - didn't realise they drop contents now (I'm sure they didn't sometime in the past). Guess this is only needed if you want them to drop something else in addition to their contents.

    Damage/damagetool: yeah, bad choice of words on my behalf - would leave both options for quite a while (just have an log warning stating 'damage' is obselete, use 'damagetool').

    Damage to tools - the code does check if the tool is able to be damaged but I haven't personally tested this.

    @Everyone - having trouble getting my head around YAML enough to get drop groups working but I learn something new. YAML has aliases :) Don't know how useful they are, but here's an example.

    @Lunarius Haberdash
    This example works best with your previous config:

    Code:
      CREATURE_ZOMBIE:
        - tool: ALL
          drop: NOTHING
    (.... add in all your extra chances of drops here...)
        - tool: ANY
          drop: FEATHER
          toolexcept: &environ [DAMAGE_LAVA, DAMAGE_FIRE, DAMAGE_CONTACT, DAMAGE_DROWNING, DAMAGE_FALL]
          quantity: 1-3
          chance: 20
          world: Aether
        - tool: ANY
          drop: APPLE
          toolexcept: *environ
          quantity: 1-3
          chance: 20
          world: Aether
    
    Basically you tag your entry with &<name> and then refer to it later with *<name>

    You can even overwrite values later like this:
    Code:
    otherblocks:
        REDSTONE_ORE:
            - &ironappledesertday
              tool: IRON_PICKAXE
              drop: APPLE
              quantity: 1
              chance: 30
              biome: DESERT
              time: DAY
    
            - <<: *ironappledesertday
              drop: WOOL
              chance: 20
    
    Again, don't know how useful this is but there may be some areas where this makes the config more readable/easier to update.

    Edit: fixed alias in above example (if you want to modify the sub-values you need to add "<<:" before the alias.

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

    Celtic Minstrel

    Yeah, the didn't drop their contents until I think 1.6, which was after the option was added. Still, it's not useless to retain it since if you want furnaces to (for example) drop four cobblestone and their contents when broken without a pickaxe rather than a furnace and their contents, you can do it.
     
  28. Excellent Mod and Good YAML coding advice at the same time! One o'my favorite threads now!
     
  29. Offline

    RugRats

    @Zarius
    Code:
    2011-07-14 13:53:17 [SEVERE] Could not pass event BLOCK_BREAK to OtherBlocks
    java.lang.IllegalArgumentException: No enum const class org.bukkit.Material.ANY_FURNACE
        at java.lang.Enum.valueOf(Unknown Source)
        at org.bukkit.Material.valueOf(Material.java:14)
        at com.sargant.bukkit.otherblocks.OtherBlocks.doContentsDrop(OtherBlocks.java:452)
        at com.sargant.bukkit.otherblocks.OtherBlocks.performDrop(OtherBlocks.java:369)
        at com.sargant.bukkit.otherblocks.OtherBlocksBlockListener.onBlockBreak(OtherBlocksBlockListener.java:193)
        at org.bukkit.plugin.java.JavaPluginLoader$35.execute(JavaPluginLoader.java:483)
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:321)
        at net.minecraft.server.ItemInWorldManager.c(ItemInWorldManager.java:157)
        at net.minecraft.server.ItemInWorldManager.a(ItemInWorldManager.java:121)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:460)
        at net.minecraft.server.Packet14BlockDig.a(SourceFile:42)
        at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
        at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:84)
        at net.minecraft.server.NetworkListenThread.a(SourceFile:105)
        at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:451)
        at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
        at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)
    
    CB 953 and newest otherblocks. I get this when i destroy a furnace that has stuff inside. yes I stuff still drops it just throws this error.

    Code:
        ANY_FURNACE:
            - tool: ANY
              drop: CONTENTS
            - tool: ANY
              drop: FURNACE
    Also do messages support color codes?
     
  30. Offline

    Zarius

    Not sure if messages support color codes - can you try and let me know?

    Hmm... not sure why that would happen with furnaces, can you try this 1.0beta-2 version? I tested furnace drops and didn't get an error.

    Other beta-2 features:
    * major internal code restructure in prep for drop groups - this shouldn't change the config files at all, let me know if there are any issues there
    * more lightweight - the plugin now only checks through drops applicable to the block being broken, entity killed, etc (previously it quickly scanned through every drop in the config file for matches, now it uses a hashtable to directly get only the right drops).
    * some small bug-fixes/consistency, drop: DENY stops leaf decay (but doesn't work with other drops because leafs can keep decaying), exclusive: option should work for entities but I haven't tested this.
    * permissions/permissionsexcept option - this is more powerful than the current permissiongroups option. See the example below:

    Code:
    ###########
    # Permissions:
    # In the example below you need to give the player or group the
    # 'otherblocks.custom.glass' permission to drop the glass block.
    # Giving them 'otherblocks.custom.glass.pain' as well will add the pain
    # and giving 'otherblocks.custom.glass.*' will give both.
    #########
    #    GLASS:         
    #        - tool: ANY
    #          drop: GLASS
    #          quantity: 1
    #          permissions: "glass"
    #        - tool: AIR
    #          drop: NOTHING
    #          damageattacker: 2
    #          permissions: "glass.pain"
    #          message: "Ouch! That hurt."
    #          chance: 25
    
     
  31. Offline

    RugRats

    2011-07-14 18:27:19 [WARNING] [OtherBlocks] OnBlockBreak: error - dropGroups is null!?
     

Share This Page