ObbyDestruct
ObbyDestruct
Dear Anyone. I am unfortunately done with Bukkit. I know the staff will probably begin removing my plugins and for this, I'm sorry. Bukkit has become a chore and decided to focus on furthering screwing up their community and restricting code. For this reason: I urge you to read my friends Bergekillers' post here. Then start reminiscing of the good old days. Goodbye users of Bukkit and my plugins. I cannot work within a jail anymore. This will be the last and final update to this plugin. Again, I'm sorry. But programming for Bukkit is just not fun.
Description
Hello, Orcem's back with yet another lightweight RPG plugin! Introducing "ObbyDestruct" your friendly "TnT Breaks Obsidian" plugin. I will continue adding to this plugin for I have many ideas for the plugin. Please follow the project closely as it slowly evolves into a self-rewarding and hopefully donation applicable. (Trying to pay for school) I hope you enjoy it. You may request all appropriate modifications, I'll do my best to add them all.
Features
Own a factions server? Tired of players making their fortresses nearly impossible to raid because of Obsidian? Well I'm here to help! This plugin allows your players to use TnT to destroy, remove and mine Obsidian. Enjoy.
- Configurable amount of TNT to break the blocks
- Small but functional chance system
- Destroy Obsidian with TNT
ToDo:
Add Drop Limiter- Allow creepers to destroy obsidian (Config)
Log TnT explosionsAllow TnT to explode in water (Configurable)Allow custom resistance for user chosen blocks.
How to install:
- Download the most recent build of this plugin.
- Place downloaded plugin, "ObbyDestruct", into your plugins folder.
- Simply reload or preferably restart server.
- Enjoy and if you like it remember to check back for updates!
Donate (Help me pay for school [Computer Science])
Donate Via Paypal, please. : ) (Optional)
@ZeusAllMighty11
Yup I'm still working on this. Sorry for the delay.
@madon47
YESSS!!!!
Could you add a config file so obsidian needs more tnt to destroy? Ex: now obby is as resistant to tnt as stone-I want to make it very difficult to destroy it, (one tnt destroys 2-5 obsidian, depending on the accuracy of the shot))
Hows the update?
@slam1000bob
Sure. @DefilezUK
Sure.
:)
Great plugin this is allmost exactly what I was looking for. Someone mentioned earlier about letting the TNT destroy obsidian through water, well on my server this plugin is allready doing this. It would be great if you could add a config option to switch this behaviour off. Also again like others have metioned I'd really like to see a config option so that more TNT would be required to destroy the obby. Thanks for the great work.
Hey i was wondering could you make it create a config file so you can set how strong tnt is? It would be greatly appreciated. Other than that flawless plugin.
@xaldovit
Excellent points, and yes I'm putting this in once I get around to it. And yes I know it's not that much RAM heavy unless I just declare as much as possible which I don't. I try to make my code the most efficient possible, in fact, at the moment for performance tracking this plugin is done in exactly 50 lines of code including the imports. This is compared to the older obby destruct which has useless declarations and buggy timers. I'll get working on this.
I looked up something and actually, it wont be very much I think, because durability is saved anyways, and the only thing that will be there is a limited time of keeping the block loaded. and maybe at that specific time you get some extra cpu use, but on long time, you will save memory, because if all blocks keep loaded (half destroyed) the file will become bigger and bigger.
The timer doesn't take that much, since it will reset and empty when the time is over, so the blocks won't be loaded all the time long. And this previous system was used at much pvp-servers and I never experienced much lag or any lag at all. In my opinion, pvp-server has to be fast anyways and need to be able to handle much cpu-using entity's like tnt at 1 time, because tnt is used really much in raiding. By the way, maybe a configurable option to turn the timer off for those who don't like it or can't handle it.
@RustyDagger
The more tnt placed would make it less efficient yes. But the math is relatively simple. If you still want me to do this I can.
I think the whole timer idea is a very inefficient way to code it the timer would chew alot more cup after the explosion has happend keeping track of the durability. To code this better it would be more efficient to just give every block a chance out of 100 to brake aka 100% chance would result in what the plugin dose now 50% would be half the blocks. lowing it down to say 4% would make it hard to explode but not impossible. and all the math would be run at the time of the explosion thus no real long term over head.
I could just imagine 40 tnt going off and it trying to handle 40 different timers counting down from 10 min LAGGG alert..
@xaldovit
Gotcha, I'll work on this.
Durability timer = like a tnt explodes, and the obsidian block will break at 4 shots, then the durability (3/4) is saved, but then for a spwsific time, for example after 10 min the durability resets (4/4) but when a tnt explodes in the radius of the obsidian in 10 min, the durability will be (2/4) and the time will be 10min again from that moment
@RustyDagger
Yes, I'm aware of this problem, haha, I'm working on that at the moment. It's just some users request specific things. I have to meet damands .
Howdy I hope I can set this up to have like a 4% chance of the tnt braking the obsid.
I see you have another plugin H20TNT Why is that not part of this one You could combine them and name the plugin like TNTPlus. Less plugins loading means faster restarts etc and that keeps me happy :D
i think for the timer he means how long does that block of tnt save the damage value
@xaldovit
Alright, I don't quite understand the "durabilityTimer" can you explain this to me?
The options witch where configurable before:
explosionRadius = 3; tntEnabled = true; creepersEnabled = true; ghastsEnabled = false; durabilityEnabled = true; durability = 4; durabilityTimerEnabled = true; durabilityTime = 0x927c0L; chanceToDropBlock = 0.69999999999999996D;
maybe something like that?? copied it from javacode.
@chickenputty
@kahlilnc
Both good ideas. Right now just 1 TnT block can destroy the Obsidian. I'll add some more features as requested this weekend.