[INACTIVE][FUN] HigherExplosives v2.0 - Configurable multiworld explosion control [860]

Discussion in 'Inactive/Unsupported Plugins' started by toadmess, Feb 26, 2011.

  1. Offline

    toadmess

    HigherExplosives - multi world control of explosions (size, player/creature/terrain/item damage, % items dropped, and TNT fuse duration and permissions support):

    Version: v2.0

    With some simple tweaking to the automatically created config.yml file, you can individually change the TNT, creeper, or fireball explosions for all worlds, or tailor specific worlds.
    The configuration is fairly flexible, so with some more determined configuration there are a myriad different worlds with exotic explosion qualities that can be crafted. :)

    It was compiled and tested against CraftBukkit version 860 (recommended build).

    Features:
    • Control the size of explosions for TNT, creepers and ghast fireballs.
    • Control the percentage of dropped items (called yield) from the destroyed blocks, from no items dropped through to one item dropped per destroyed block.
    • The yield of every different block type can be individually configured if so desired.
    • Optional prevention of terrain damage
    • Multiple world configurations
    • Allows configuration of different blast radii, with different probabilities for each being chosen
    • Allows configuration of different player damage (optionally with different probabilities for each being chosen)
    • Allows configuration of different creature damage (optionally with different probabilities for each being chosen)
    • Item damage can be configured (optionally with different probabilities for each being chosen)
    • Fuse length of TNT can be tweaked.
    • Some simple control over which areas the modified explosions will happen in
    • TNT triggered by redstone, fire, explosion, or by a player's hand can be configured separately
    • The triggering of TNT can be prevented (either generally, or specifically for fire, explosion, hand, or redstone)
    • Permissions support for TNT triggered by hand. Any number of different configurations for players with certain permissions and/or groups can be applied.
    • Charged creeper's explosions can be configured
    Downloads:


    The v2.0 HigherExplosives.jar is at https://github.com/downloads/toadmess/HigherExplosives/HigherExplosives.jar

    In case there are problems with v2.0, the older v1.7 HigherExplosives.jar is still available from https://github.com/downloads/toadmess/HigherExplosives/HigherExplosives1.7.jar

    The source code (changes are most welcome) is at https://github.com/toadmess/HigherExplosives/

    Install:

    Straight out the box this will double the size of TNT explosions. No configuration required, just drop the HigherExplosives.jar in the plugins directory.

    Known issues:
    Show Spoiler

    • If you set the yield too high, the server will lag a lot whilst trying to rotate all of the items left in the crater.
    • If the radiusMultiplier is much less than 1, I think the client is rendering the explosions as normal, but then corrects itself a moment afterwards when it hears about what really happened from the server. This has a kind of double-take effect.
    • If the radiusMultiplier is set too high, the shape of the terrain damage takes on a kind of streaking or criss-crossing effect. I think this is to do with the way minecraft creates the explosions (http://www.minecraftwiki.net/wiki/Explosion).


    Example Configuration:

    For full configuration details check out the README file at https://github.com/toadmess/HigherExplosives/tree/v2.0

    Meanwhile, here's a contrived example configuration that covers most of the simpler features, together with an explanation below it:
    Show Spoiler

    Code:
    entities:
        TNTPrimed:
            yield: 0.15
            radiusMultiplier: 2.0
        Creeper:
            preventTerrainDamage: true
            activeBounds:
                max:
                    x: 500
                    z: 500
                min:
                    x: -500
                    z: -500
    worlds:
        world_nether:
            entities:
                TNTPrimed:
                    playerDamageMultiplier: 2.0
                    itemDamageMultiplier: 0.0
                Fireball:
                    fire: false
                    creatureDamageMultiplier: 2.0
        wildwest:
            entities:
                TNTPrimed:
                    radiusMultiplier:
                        - {chance: 0.25, value: 0.3}
                        - {chance: 0.25, value: 1.5}
                        - {chance: 0.5, value: 1.0}
                    trialTNTFuseMultiplier:
                        - {chance: 0.5, value: 0.0}
                        - {chance: 0.5, value: 1.0}
                Creeper:
                    yield: 0.0
                    yieldSpecific:
                        2: 0.8  # Grass
                        3: 0.8  # Dirt
                        12: 0.8 # Sand
    version: '2.0'
    debugConfig: true
    
    In this example config, the size of TNT explosions are doubled and the number of items they drop is set at 15%. This would by applied by default in all worlds except the world named "world_nether" and the world named "wildwest".

    In the world named "world_nether", TNT explosions will have a normal blast radius and yield, but nearby items will be impervious to them. Whilst they don't damage items, TNT explosions in the nether will be twice as damaging to players when exploding, but creatures will take damage as normal.

    By default, creepers will not damage terrain in a 1000x1000 square area around 0,0. They will however still damage creatures and players as normal. Outside of the safety area, the terrain will be damaged as normal by Creepers. This applies to all worlds with this example configuration because no other world has a specific configuration for the Creeper entity.

    Ghast fireballs in the "world_nether" world will not cause fire but will be twice as damaging to other creatures. They'll damage players as normal fireballs do. Fireball explosions in any other world will be left unmodified.

    In the wildwest world, TNT is flakey and unreliable. 50% of the time TNT will explode immediately without any fuse. The sizes of the TNT explosions will also vary, with half of them being normal, a quarter being very small, and a quarter being fairly large.

    Creeper explosions in the wildwest will cause destroyed grass, dirt and sand blocks to drop items 80% of the time. All other destroyed blocks will drop nothing.

    To check if the plugin is reading the configuration correctly, you can add a "debugConfig: true" property. It defaults to false if it's not in the config file.


    Changelog:
    Show Spoiler

    Version 2.0
    • Nested configurations allow completely different behaviour for TNT depending on whether it was activated by fire, player, redstone, or some other explosion.
    • Permissions plugin support. Allows any number of configurations to be applied when a player's hand triggers a TNT block, so long as the player has the necessary permission and/or belongs to the necessary group.
    • Charged creepers can now be specifically configured with the "creeperCharged" nested configuration.
    Version 1.7
    • The yield of specific block types can now be individually configured via the "yieldSpecific" property.
    • Renamed the "trialTNTFuseMultiplier" config property to "tntFuseMultiplier"
    • Massive internal restructuring of the code. Should be more lean and mean.
    Version 1.6

    • (Experimental) TNT fuse durations can be configured via the "trialTNTFuseMultipler" property.
    • Item damage can be configured via the "itemDamageMultiplier" property
    Version 1.5.1

    • Now detects the MiningTNT plugin and works with it (specifically the yield values)
    • Checks for cancelled events, so it plays a little nicer with other plugins that cancel an event.


    Any dontations are not necessary, but are certainly appreciated! All the money goes to charity (currently going to Doctors Without Borders) except for the very occasional beer which will go to me :)
     
  2. Offline

    Zarius

    Odd, I'm running this with 1060 and MobArena without errors...
     
  3. Offline

    ACStache

    I personally haven't tried it w/ MobArena's latest features, I just knew it was never updated and removed it (it never threw errors/issues for MA Creepers). I was also seeing some odd things happening with TNT that I don't recall exactly what they were, but it was those issues that I removed it I believe. it's been too long :p lol
     
  4. Offline

    Zarius

    Yeah, if I get any problems I'll be looking to new options - so far it's working for me though, knock on wood :)
     
  5. Well functionality wise it doesn't seem to break anything...just annoying trace spam :p
     
  6. Awesome plugin. Also running this together with mobarena. However my config is very simple!
     
  7. Different settings etc ;p
     
  8. Can you add the lightning event to this? Lightning destroys dropped items atm :/
     
  9. Hello. Nice plugin.
     
  10. Lub this plugin
     
  11. Offline

    jonathanyc

    Awesome plugin! Can't seem to set yield to 0, though. :(
     
  12. Offline

    Nori_Silverrage

    I love this plugin, but I see no updates for half a year... Thats a bummer. How's it work with latest versions of Bukkit?
     
  13. Offline

    sza22

    can anyone update this for 1.0.1 please? it would be much appreciated :)
     
  14. Offline

    Zarius

    Still working fine for me in 1.1R3 :) I did tweak it a little to hopefully fix that NPE in MultiWorldConfStore ( reported by Joy and Pantheis ) and add the new Bukkit permissions (removed old Yeti permissions). This <Edit by Moderator: Redacted mediafire url>
     
    Last edited by a moderator: Dec 15, 2016
  15. When using Zarius's build in 1.1R3, I'm still spammed with this:

    Code:
    17:02:32 [INFO] ENTITY_EXPLODE: CraftEnderDragon
    17:02:32 [SEVERE] HEEvent.getApplicableConfig(): not sure how to get the config for entity CraftEnderDragon
    17:02:32 [INFO] Error: worldConfMap for entityType 'interface org.bukkit.entity.Chicken' is null, skipping.
    That just seems to happen at random, and when trying to blow up some TNT this happens:
    Code:
    17:07:49 [INFO] ENTITY_EXPLODE: CraftTNTPrimed

    Dunno if it effects anything, It doesn't seem to effect any TNT's exploding though.
     
  16. Offline

    Zarius

  17. No problem man. Like I said, it's nothing urgent, as the TNT appears to be working properly and whatnot. I'll list my other mods that I'm using on my server below with links to them too:

    Code:
    Multiverse            2.3            http://forums.bukkit.org/threads/edit-misc-tp-fun-multiverse-2-0-world-management-1060.3707/
    Permissions            3.1.6            http://forums.bukkit.org/threads/inactive-admn-dev-permissions-3-1-6-the-plugin-of-tomorrow-935.18430/
    ScubaKit            3.0.0.D            http://forums.bukkit.org/threads/mech-scubakit-3-0-0-b-use-helmets-to-stay-underwater-1240.21270/
    HigherExplosives            2.0            http://forums.bukkit.org/threads/fun-higherexplosives-v2-0-configurable-multiworld-explosion-control-860.6228/
    DropClear            1.7.6_1            http://forums.bukkit.org/threads/gen-dropclear-v1-7-6_1-clearing-all-those-nasty-drops-since-2011-1597.22956/
    Inferno            1.1            http://forums.bukkit.org/threads/fun-mech-inferno-v1-1-notch-nerfed-fire-bring-it-back-x2-1000.19320/
    SpongeRestore            1.7            http://dev.bukkit.org/server-mods/spongerestore/
    cbTeleport            0.9            http://forums.bukkit.org/threads/tp-cbteleport-v0-9-a-ceiling-bottom-multiworld-teleport-plugin-1-1r2.21116/
    BedrockControl            1.4            http://forums.bukkit.org/threads/admn-bedrockcontrol-v1-4-place-remove-bedrock-and-get-a-drop-953.6914/
    bSpace            2.1            http://dev.bukkit.org/server-mods/bananaspace/
    FlatLands            0.1            http://forums.bukkit.org/threads/wgen-flatlands-v0-1-makes-a-flat-world-860.20888/
    Golden Tools            0.9a            http://forums.bukkit.org/threads/fun-misc-golden-tools-v0-9-putting-gold-to-good-use-1317.21176/
    DeeTwenty            0.1            http://fill.bukkit.org/threads/fun-deetwenty-v0-1-roll-a-d20-1185.22699/
    BlocksOnGlass            0.7            http://forums.bukkit.org/threads/mech-misc-blocksonglass-v0-7-place-blocks-on-anything-1-1-r3.51604/
    ChopTree            1.24            http://forums.bukkit.org/threads/fun-mech-choptree-1-24-chop-trees-by-removing-lowest-block-like-cacti-1000-by-arcwolf.15566/
    WaterproofRedstone            0.2            http://forums.bukkit.org/threads/fix-mech-waterproofredstone-v0-2-protect-your-circuits-1060.22478/
    FreezeIce            1.0            http://forums.bukkit.org/threads/misc-freezeice-v1-0-ice-and-snow-will-not-melt-1000.26759/
    Ptweaks            1.8            http://dev.bukkit.org/server-mods/ptweaks-remove-all-server-lag/files/8-ptweaks-v1-8/
    Flaming Arrows            1.1.2            http://dev.bukkit.org/server-mods/flamingarrows/
    Monster Apocalypse            6.0b            http://dev.bukkit.org/server-mods/monster-apocalypse/
    



    Edit: Found another problem, TNT appears to be yielding no resources whatsoever. I've tried it with Yield set to 1.0, 100.0, and 200.0. No dice.
     
  18. Offline

    Zarius

    ZeratulsDownfall - Ah, didn't see your edit. You've gotta post important stuff like that as a new post otherwise I don't get an alert :D I'll take a look at that as soon as I can although I didn't have any problems when I tested it... odd. Can you pm me your higherexplosives config?
     
  19. After looking into it a bit more, here are a few examples of what I've attempted and what has occurred. Hopefully this can help resolve this issue.

    I've attempted using YieldSpecific to set every type of material. Using name for the YieldSpecific values instead of numbers (ie STONE instead of 1, GRASS instead of 2 etc) simply causes an error. The end result of this method yields nothing at all.
    Code:
    entities:
        TNTPrimed:
            radiusMultiplier: 3.0
            yield: 1.0
            itemDamageMultiplier: 0.0
            yieldSpecific:
                1: 0.0
                2: 0.0
                3: 0.0
                4: 0.0
                5: 1.0
                6: 1.0
                7: 1.0
                8: 1.0
                9: 1.0
                10: 1.0
                11: 1.0
                12: 1.0
                13: 1.0
                14: 1.0
                15: 1.0
                16: 1.0
                17: 1.0
                18: 1.0
                19: 1.0
                20: 1.0
                21: 1.0
                22: 1.0
                23: 1.0
                24: 1.0
                25: 1.0
                26: 1.0
                27: 1.0
                28: 1.0
                29: 1.0
                30: 1.0
                31: 1.0
                32: 1.0
                33: 1.0
                34: 1.0
                35: 1.0
                36: 1.0
                37: 1.0
                38: 1.0
                39: 1.0
                40: 1.0
                41: 1.0
                42: 1.0
                43: 1.0
                44: 1.0
                45: 1.0
                46: 1.0
                47: 1.0
                48: 1.0
                49: 1.0
                50: 1.0
                51: 1.0
                52: 1.0
                53: 1.0
                54: 1.0
                55: 1.0
                56: 1.0
                57: 1.0
                58: 1.0
                59: 1.0
                60: 1.0
                61: 1.0
                62: 1.0
                63: 1.0
                64: 1.0
                65: 1.0
                66: 1.0
                67: 1.0
                68: 1.0
                69: 1.0
                70: 1.0
                71: 1.0
                72: 1.0
                73: 1.0
                74: 1.0
                75: 1.0
                76: 1.0
                77: 1.0
                78: 1.0
                79: 1.0
                80: 1.0
                81: 1.0
                82: 1.0
                83: 1.0
                84: 1.0
                85: 1.0
                86: 1.0
                87: 0.0
                88: 1.0
                89: 1.0
                90: 1.0
                91: 1.0
                92: 1.0
                93: 1.0
                94: 1.0
                95: 1.0
                96: 1.0
                97: 1.0
                98: 1.0
                99: 1.0
                100: 1.0
                101: 1.0
                102: 1.0
                103: 1.0
                104: 1.0
                105: 1.0
                106: 1.0
                107: 1.0
                108: 1.0
                109: 1.0
                110: 1.0
                111: 1.0
                112: 1.0
                113: 1.0
                114: 1.0
                115: 1.0
                116: 1.0
                117: 1.0
                118: 1.0
                119: 1.0
                120: 1.0
                121: 1.0
                122: 1.0
                123: 1.0
                124: 1.0
                125: 1.0
                126: 1.0
                127: 1.0
                128: 1.0
                129: 1.0
                130: 1.0
                131: 1.0
                132: 1.0
                133: 1.0
                134: 1.0
                135: 1.0
                136: 1.0
                137: 1.0
                138: 1.0
                139: 1.0
                140: 1.0
                141: 1.0
                142: 1.0
                143: 1.0
                144: 1.0
                145: 1.0
                146: 1.0
                147: 1.0
                148: 1.0
                149: 1.0
                150: 1.0
                151: 1.0
                152: 1.0
                153: 1.0
                154: 1.0
                155: 1.0
                156: 1.0
                157: 1.0
                158: 1.0
                159: 1.0
                160: 1.0
                161: 1.0
                162: 1.0
                163: 1.0
                164: 1.0
                165: 1.0
                166: 1.0
                167: 1.0
                168: 1.0
                169: 1.0
                170: 1.0
                171: 1.0
                172: 1.0
                173: 1.0
                174: 1.0
                175: 1.0
                176: 1.0
                177: 1.0
                178: 1.0
                179: 1.0
                180: 1.0
                181: 1.0
                182: 1.0
                183: 1.0
                184: 1.0
                185: 1.0
                186: 1.0
                187: 1.0
                188: 1.0
                189: 1.0
                190: 1.0
                191: 1.0
                192: 1.0
                193: 1.0
                194: 1.0
                195: 1.0
                196: 1.0
                197: 1.0
                198: 1.0
                199: 1.0
                200: 1.0
                201: 1.0
                202: 1.0
                203: 1.0
                204: 1.0
                205: 1.0
                206: 1.0
                207: 1.0
                208: 1.0
                209: 1.0
                210: 1.0
                211: 1.0
                212: 1.0
                213: 1.0
                214: 1.0
                215: 1.0
                216: 1.0
                217: 1.0
                218: 1.0
                219: 1.0
                220: 1.0
                221: 1.0
                222: 1.0
                223: 1.0
                224: 1.0
                225: 1.0
                226: 1.0
                227: 1.0
                228: 1.0
                229: 1.0
                230: 1.0
                231: 1.0
                232: 1.0
                233: 1.0
                234: 1.0
                235: 1.0
                236: 1.0
                237: 1.0
                238: 1.0
                239: 1.0
                240: 1.0
                241: 1.0
                242: 1.0
                243: 1.0
                244: 1.0
                245: 1.0
                246: 1.0
                247: 1.0
                248: 1.0
                249: 1.0
                250: 1.0
                251: 1.0
                252: 1.0
                253: 1.0
                254: 1.0
                255: 1.0
        Creeper:
            radiusMultiplier: 2.0
            itemDamageMultiplier: 0.0
            preventTerrainDamage: true
    version: 2.0-z
    


    Edit:
    I've just attempted removing my YieldSpecific setting. This setting gives me everything (which really isn't what I want for mining a lot of stuff, but I suppose it will have to do). If there is any way of fixing this, please inform me.

    Code:
    entities:
        TNTPrimed:
            radiusMultiplier: 3.0
            yield: 1.0
            itemDamageMultiplier: 0.0
        Creeper:
            radiusMultiplier: 2.0
            itemDamageMultiplier: 0.0
            preventTerrainDamage: true
    version: 2.0-z
    
     
  20. Offline

    Zarius

    ZeratulsDownfall - glad you got it working at least (if not perfect yet). I would love to take a look at that section but the new changes in Bukkit R5 means I've got a lot of work updating my other plugins to be ready.

    I took a look at supporting this one but it's quite a complex plugin with a lot of configuration reading (which has gone through some major changes in Bukkit R5) so looks like a big job to update. If no-one else gets to it before me though I'll give it a go after I finish updating my other plugins.
     
  21. Alrighty, thanks for the help! Good luck on updating your plugins.
     

Share This Page