FunGrenades
Throw various grenades (12 types as of v2.2) that detonate after a configurable time.
Videos
I put together a new video to demonstrate the 3 new grenades that came with v2.0, and to try to capture some of the sounds of the grenades:
And here's the original video:
Source Code
At github: https://github.com/waffles87/fungrenades
New Features (v2.2)
See the v2.2 change log for more details.
- There has been a change to how you throw FunGrenades; it is now via right-click to be more similar to a snowball or ender pearl.
- FunGrenades are now craftable, and the recipes are configurable.
- Added the fg.reload command and permission.
- Fixed the "anvil renaming problem" (see Known Caveats). Kits should still work though, and if not you can turn off this fix in the config.
- Added a new grenade; acme (based on the ACME hole from cartoons).
Getting and Using Grenades
Get grenades with the /fg.give <player> <grenade> [amount] command
(grenade names spelled as below).
This works well with command blocks.
Example: /fg.give waffles87 classic 5
Alternatively, FunGrenades can also be crafted as of v2.2; see the default configs for the default recipes.
Throw grenades exactly as you would throw a snowball; with a right-click. This is new as of v2.2, before that it was a left-click to throw, or any click that animated your arm, which caused a lot of accidental throws. See the v2.2 change log for a complete explanation of this change.
Other Misc. Facts:
- Grenades "flash" as though they are about to explode.
- They do not detonate on impact; the detonation time is configurable for each grenade.
- As of v2.2, the acme grenade is the first "detonate on impact" grenade.
Grenade Types
- classic (HE Grenade)
- smokebomb (blindness and player invisibility)
- gluebomb (webs)
- pineapple (arrows)
- napalm (fire)
- icicle (snow, ice, slowing effect, damage)
- teardrop (water)
- jackhammer (sequential downward-drilling explosions)
New as of v2.0: - pester
- zapper
- decay
New as of v2.2: - acme
The Future
Future Grenade Types
- Sticky Bomb
- Homing Grenade
- Pneumatic Push (force bomb)
- Null Zone
- AoE Heal
- Party Grenade
- Flare/Flash
- Suicide
Future Development
- fg.list command
- Master grenade
Permissions
Permissions for each grenade and the give command. Note that having a permission for a grenade allows you to receive it and throw it; it does NOT give you permission to /fg.give it to yourself. This is where command blocks come in handy; it shouldn't work as demonstrated in the video if the player doesn't have the permission. I haven't tested all these permissions so please report here if they don't work as expected.
permissions and their defaults:
- fg.classic: true
- fg.smokebomb: true
- fg.gluebomb: true
- fg.pineapple: true
- fg.icicle: true
- fg.teardrop: true
- fg.napalm: true
- fg.jackhammer: true
- fg.pester: true
- fg.zapper: true
- fg.decay: true
- fg.give: op
- fg.reload: op
Configs
The config file should be self-explanatory.
General configs
- throw_cooldown - a player-specific cooldown for throwing grenades
- renaming_allowed - sets whether you can use the anvil to rename items into grenades (see Known Caveats)
- allow_crafting - sets whether FunGrenades recipes will be enabled on the server
- right_click_safe_materials - a list of Materials that you can safely right-click while holding a FunGrenade, without throwing it.
Grenade-specific configs
- detonation_time for each grenades
- some have their effect duration configurable where applicable
- some have other useful features configurable where applicaple
- as of v2.2, crafting recipes are configurable; follow the format in the default config.
Installation
Put FunGrenades.jar into your plugins folder and run your server; it will generate the default configs and you should be good to go! If you are updating to a new version of FunGrenades, be sure to delete the config file before running your server so a new one is generated.
Known Caveats
Reports on any of these issues or anything else you find is what I'm looking for and would be greatly appreciated.
- There may be some server lag associated with some of these grenades, though I am trying to eliminate it.
Renaming an item with an anvil to the name of a FunGrenade seems to turn it into one.Fixed as of v2.2- While the block destruction option is configurable, it is not totally effective, and some FunGrenades explicitly change blocks; I don't recommend using this plugin on a world in which you deeply care about the environment!
Great plugin, thank you, im gonna use it for my SkyPVP
Would love to see these :3
Cluster Grenade - Thrown and breaks into spread of 5 grenades
Singularity Grenade - Thrown and unleashes a whirlwind of blocks then explodes
Airstrike Marker - Not really a nade but unleashes explosive falling explosive flowerpots or cobble walls from the sky
Hey man, great plugin! One request though, would you possibly add an option allowing us to configure each grenades name in the config file. I would much prefer being able to name my grenades something other than "Classic" or "Acme" for example. Cheers :)
@Peter234
@Juicymercat
I'm going to look into safe areas next... what plugins do you use for defining safe areas?
@Peter234
The only way I can reproduce this problem is to give someone some grenades, then restarting the server or reloading the configs after changing the "renaming_allowed" config. If this is set to true, the actual ItemStacks of the grenades are different than if it is set to false, and only one can work at a time. This config isn't meant to be toggled on and off a lot; I recommend just leaving it set to "false".
Also make sure you delete your old config file before updating this plugin, because otherwise the new configs won't exist and I'm not really sure what the result of that would be. Maybe this problem.
Do either of these sound like something that might be the cause?
Hi,
In the event that we are using this for a kitpvp server, could you explain how we can prevent them from using the grenades inside the safezone or a specified region? If there is not a way, could you add this soon?
Thanks
There's a problem where whenever the server restarts, all of your grenades no longer work... Also could you add a way to make grenades not explode in a certain defined area?
waffles you know your stuff... maybe you can help me with a major server problem... how do I make a enderpearl have a 30 second delay of use from spawn in a mini game so the 1st 30 secs of the game you cannot enderpearl? (managed 30 sec cooldown) awesome plug using it on my server :D
@Dillzzzzz
Sorry, what I said was misleading. You cannot give different players different cooldowns, I just meant that players don't share the same global cooldown, which I guess was obvious because that would suck if they did. Right now the "throw_cooldown" config just controls the number ticks a player must wait before throwing another grenade.
@Waffles87
To each player? So if I added a lower cooldown for donors, I would have to do that in the config each time?
@Dillzzzzz
Yep there's the throw_cooldown config that's specific to each player. It defaults to 1 second and is shared by all grenades for that player.
Is there a cooldown?
@Ivanna79
For blocks destroyed by explosions, they don't come back. Teardrop water goes away after a few seconds, but anything it destroys (like redstone stuff) does not get restored, and if you freeze it before it goes away then it is permanent when it melts. Acme takes away blocks temporarily, but things like signs and torches don't get restored. Decay changes blocks and kills trees and they don't come back. Icicle snow and ice doesn't go away automatically. Ultimately I think you could use configs and permissions to just use environment-safe grenades, but you'd have to test it out and be careful.
@Ivanna79
i love plugin ;) Add commands to which you of grenades
continue with the good work
My only question is, do the blocks go back to normal? And for things like water, does it go away after a 1 min or so.
@deekondvg
That worked surprisingly well; I'm working on a new release but I'm going to try to fit in grenade crafting and some code refactoring, and then probably open source this thing.
@deekondvg
Furthering that, Color * Wouldn't making the spawn in names colored prevent anvil rename?...
Wouldn't it be easy to just have the names of the items &6(Name) and the lore &7(lore) to prevent anvil usage? ....
Video Tutorial on the Plugin
http://youtu.be/_TFhIG8tGWs
Credits Video: (AbsintoJ/FunGrenades)
@Kyurem55
Thanks, I'm sorry I've been busy on another project and haven't got around to implementing any new grenades, but I like those ideas. There are also some caveats to fix. I haven't forgotten this project but I probably won't be coming out with anything new for a while.