Turrets
Turrets
Automatic turrets for Bukkit servers (cleverly disguised as minecarts!)
I moved the project into Beta as there have been more people downloading and, I'm assuming, testing it, with no major issues. There is a lot going on in this plugin, and little changes can have far reaching consequences, let alone big changes, so I still won't stake my name on saying it absolutely won't mess anything on your server up. Please report any problems you have!
Currently working on: DisguiseCraft support. Give me your ideas on what you'd want from this :)
Details: I'm hooked into DisguiseCraft, just need ideas for what kind of features are desirable!
Download
I'll try and keep this up-to-date. If all goes as planned, this version should be the same or newer than the one linked to this BukkitDev entry.
A Jenkins job has been created to house dev builds. You can access it here!
v0.2.3a - Manual turret control!
For those of you antsy about getting a version for 1.4.4, here's an unofficial 1.4.4 dev build.
Link Removed: http://www.mediafire.com/download.php?85saz80idpsafef
Building turrets is easy: Just place a fence post, then right click with a minecart on top. It's so easy, even a guest could do it! (That's why Turrets has permissions support.)
Make sure you attach an ammo chest to the turret (see command page) or set turrets to have unlimited ammo (see config page).
Breaking turrets is also easy: Just left-click it until it breaks, just like a minecart.
Features
- Turrets target hostile mobs
- Turrets will avoid shooting through walls
- Turrets use ammo chests (configurable).
- Turrets are upgradable!
- Upgrade a turret by replacing the block under its fence post: iron -> gold -> diamond
- Better turrets can shoot faster, farther, more accurately
- Firing speed, range, and accuracy can be changed in the configuration
- Turrets are breakable! (With permissions, of course)
Possible future features
Commands
Permission Nodes
Also, thanks to damnnicholas for his YouTube video explaining the plugin.
@SableDnah
I actually found the time to modify it :)
The 0.2.5 release is pretty much your version with the factionsCheck() method put in a util class.
@RegularWolf
It can shoot other players. You just need to set up the turret correctly.
Can this work against players? Turrets shoot players? That will be awesome
What I was wondering if this will target other player..
@GamerTim16
turret.upgrade
@Devil_Boy
Sure - where should I send the jar?
@zag09
I thought this too - if i get time i may dabble.
Everyone else after the Jar: I'm not gonna post it without wristdirect or Devil_Boy's permission - :)
Where is the permission node for upgrades?
You should make it so it uses minecarts with chests, instead of having to place a chest near the turret
Pls update somebody this Plugin
@Tobias2289
SableDnah has a working 1.5.1 version with Factions support in his GitHub repo.
@SableDnah
Mind compiling and sending me a jar of your fork? o.o
I haven't yet made the changes in mine necessary for my compiler to only softdepend Factions.
I've been following this plugin since like day one it was posted, I've been waiting for a version of this with out bugs and factions support for faction members and allies. Is the day near? I can live with bugs but not with out factions support! When will this work for 1.5.1 if ever?
@Devil_Boy
Sounds like it - I know it was a surprise the first time I did my usual thing and it didn't work!
If i add more factions code to my fork - I'll def move all the factions code to its own utility class ;)
@SableDnah
That's how it should seem to work, but it isn't guaranteed. As you did for bloodmoon, the proper way is to put the code into a separate class so that imports that refer to classes that might not be loaded will only be in classes that won't be used in that situation.
We think that this might have to do with different compilers or something O.o
@janes0007
Go compile it from the github ;)
@SableDnah SableDnah I want your Turret Plugin where I can download it?
@Devil_Boy
If you look at mobhealth here https://github.com/Sablednah/MobHealth/blob/master/src/me/sablednah/MobHealth/API/MobHealthAPI.java I refer to 6 other plugins - but as long as each is wrapped in the appropriate if(hasPlugin) check it all works fine.
I did have NoClassDefFoundException for my bloodmoon support briefly - but it was easily solved by moving the offending code into another class (and therefore the imports) and calling that class from within the if (hasPlugin) check ;) That way the NoClassDefFoundException never triggered.
@SableDnah
The issue is, there's an import for some Factions classes in the EntityRotatingTurret class. Whether or not you actually use the Factions classes, Java will throw a NoClassDefFoundException :x
It's an odd Java hiccup that has actually showed up when mbaxter and I were working on DisguiseCraft's old SpoutPlugin support.
@Devil_Boy
Factions is set to softdepend: [ Factions ] in plugin.yml - and added to the build path?
And by detecting if factions is present and setting hasFactions variable - like this:
the plugin then works with or without factions on the server. You do need factions to compile it tho - pretty much the standard way of adding support for another plugin?
@SableDnah
Hmm... While testing the merge, I found that Factions has become a hard dependency o.o
Was this intended? XD
I can remove the dependency easily be commenting out code in EntityRotatingTurret. I'll see if I can use some abstraction to get the Factions code back in.
@krovnatik
Read comments below...
Suggestion: can you make turrets attack players and make it hook into Factions?