CraftArrows
PLEASE DOWNLOAD THE UPDATED VERSION OVER HERE:
https://dev.bukkit.org/projects/lorinthscraftarrows
CraftArrows Suite:
(Click the picture)
News: CraftArrows 2 is here! It's almost like an entirely new plugin!
UPDATING TO CraftArrows v2? READ THIS FIRST:
CraftArrows 2.0 is almost a complete recode. A lot of bugs have been fixed, arrows have been added and more features added. However, as a result you are required to use a NEW config file. You can copy most parts of your old one, but you have to do it manually. YOU HAVE BEEN WARNED! BACKUP YOUR OLD CONFIG!
CraftArrows adds 24 new arrows to your server. Each arrow is highly customizable, you can disable, set the duration and power and even change it's crafting recipe! Some arrows have special settings like: Auto-Cleanup, Block-Damage, Extra-Damage, Heal-Amount etc.
PLEASE NOTE: These arrows are NOT identified by ID's. They all have the SAME ID as the normal arrow. If you ask me to give you the ID's, I will IGNORE your post. Get a better Kit's plugin which supports lore/name!
Currently included are:
- Teleport Arrows - Teleports you to where ever the arrow hits
- Shuffle Arrow - Change position with the player/monster hit
- Poison Arrow - Apply poison to your target
- Weakness Arrow - Apply weakness to your target
- Blinding Arrow - Blind your target
- Confusion Arrow - Confuse your target
- Explosive Arrow - Create an explosion where your arrow hits
- Tnt Arrow - Explode on contact with a player/monster (doesn't destroy blocks)
- Crippling Arrow - Slows down your target
- Lightning Arrow - Strike down a lightning where ever the arrow hits
- Piercing Arrow - Does bonus damage on armored targets
- Razor Arrow - Does bonus damage to unarmored targets
- Fire Arrow - Sets target on fire, sets blocks on fire
- Pull Arrow - Pulls enemy hit towards you
- Blood Arrow - Heals for an configurable amount when hitting an enemy
- Torch Arrow - Places a torch where you shoot the arrow at
- Net Arrow - Places webs around a location or player (Setting to auto-cleanup)
- Water Arrow - Places a water source block (Setting to auto-cleanup)
- Sound Arrow - Plays scary & loud sounds to whoever it hits
- Push Arrow - Pushes stuff away from you
- Vortex Arrow - Sucks enemies in the direction of the arrow
- Forcefield Arrow - Pushes enemies away from the arrow
- Wither Arrow - Shoots an actual witherskull
- Ice Arrow - Turns water to ice
- Medic Arrow - Heals hit player
All arrows can be individually disabled in the config file. The duration and power (where applicable) for potion effects can be changed to your preference. Blinding and Confusion don't scale with power (This is how it works in MineCraft!)
Additional features (can be disabled):
- Skeletons now shoot ALL non-environmental harmful arrows (no explosive arrows)
- Skeletons drop special arrows
- Dispensers can now shoot special arrows using: CraftDispenser
Video for v1.1
It ended up a bit longer than I expected, skip towards the end if you just want to see the config
Permission nodes:
Unless you disable a certain arrow, everyone will be able to craft it. If they do not have the correct permission, their arrows will act like regular arrows. Not using a permission plugin? Simply set "UsePermissions" to false in the config file!
- craftarrow.all - Allows the use of ALL arrows
- craftarrow.tnt - Allows the use of the TnT arrow
- craftarrow.lightning - Allows the use of the lightning arrow
- craftarrow.explosive - Allows the use of the explosive arrow
- craftarrow.teleport - Allows the use of the teleport arrow
- craftarrow.blinding - Allows the use of the blinding arrow
- craftarrow.weakness - Allows the use of the weakness arrow
- craftarrow.shuffle - Allows the use of the shuffle arrow
- craftarrow.poison - Allows the use of the poison arrow
- craftarrow.confusion - Allows the use of the confusion arrow
- craftarrow.cripple - Allows the use of the slowing arrow
- craftarrow.piercing -Allows the use of the piercing arrow
- craftarrow.razor - Allows the use of the razor arrow
- craftarrow.fire - Allows the use of the fire arrow
- craftarrow.pull - Allows the use of the pull arrow
- craftarrow.blood - Allows the use of the blood arrow
- craftarrow.torch - Allows the use of the torch arrow
- craftarrow.net - Allows the use of the net arrow
- craftarrow.medic - Allows the use of the medic arrow
- craftarrow.push - Allows the use of the push arrow
- craftarrow.sound - Allows the use of the sound arrow
- craftarrow.water - Allows the use of the water arrow
- craftarrow.vortex - Allows the use of the vortex arrow
- craftarrow.forcefield - Allows the use of the medic arrow
- craftarrow.medic - Allows the use of the medic arrow
- craftarrow.wither - Allows the use of the wither arrow
- craftarrow.ice - Allows the use of the ice arrow
Changelog
2.0 So many things:
- New arrows including: FusRohDah, Medical, Vortex, Forcefield, Ice, wither, water and more!
- Infinity arrow bugfixed for real!
- Water and Net arrow now clean up after use
- You can now specify META-VALUE of a crafting component
- Almost a complete re-code.
- Skeletons shoot special arrows
- Skeletons drop special arrows and more!
1.6
- Added "Amount" variable to each Arrow in the config file, it sets how many arrows should be produced per craft.
- Fixed a update loop that caused the plugin to try to update on every restart
- Improved teleport algorithm to preserve the players view direction when teleporting, instead of inverting it in the direction the arrow was facing.
1.5
- fixed blood arrows throwing an error if health was full
I tested this with 1.5.1 (CB build 2717) and neither crafting nor shooting arrows threw any errors. Please update to a newer build AND more importantly CHECK YOUR CONFIG FILE FOR ERRORS! Nullpointer exceptions often means your config file is missing something/a material is incorrect.
If the error persists, delete your config file and restart your server. (back up your config beforehand if you've made changes).
1.4
- Added Net Arrows (Webs spawned not yet configurable)
- Fire Arrows now set blocks on fire (can be turned off, see "BurnBlocks: true", set to false)
- Added option to turn off Infinity Enchantment not using up special arrows, will now shoot normal arrows instead (Default is off, if you want Infinity enchantment to work set "InfinityBowWorks: false" to true)
- You can now set the name of the arrow.
- Replaced old Description value and changed name value, IF YOU ARE ALREADY USING THIS PLUGIN, CHANGING DESC. WILL RENDER ALL YOUR OLD CRAFTED ARROWS USELESS! DO NOT GENERATE A NEW CONFIG FILE UNLESS YOU WANT YOUR OLD ARROWS TO BE USELESS!
How the config works:
Errors/Issues/Problems/Can't get it to work?
Use the ticket system:
Try to provide as much information as you can such as:
- Errors (if any)
- CB-version
- startup-log (the complete!)
- Steps to reproduce error (if possible)
And anything else that might be important. Incomplete tickets will be closed.
@chopstick121 not yet implemented, will come with the next version (hopefully). When shot at water it will turn it into a 4x4 ice platform.
@diannetea
1. Oh snap! I didn't read that properly. Ofcourse you can define / as a shapechar and assign it to null! I thought you wanted me to change the shapematerial null to / . :P Sorry about that. That's an excellent suggestion actually, it will reduce confusion. I'll change it for further versions, but it wont affect any already in place config :P.
2. I have, and it's been asked for before. The problem is that since my plugin uses crafted arrows instead of "imaginary" ones, it's not as easy to implement. I'm currently trying to make something work, but I'm running into a few issues and nobody at bukkit seems to respond to my thread, so it's put on halt until the weekend. If everything fails, I will rewrite the plugin from scratch, adding the arrow type toggle. In it's current state, it's not possible to add a easy method, however.
what's Ice Arrow?
1. Wah. I'll have to try to find a letter that is different enough then
2. Well the nice thing about it was that it let you know which arrows you were shooting. Speaking of, have you thought about implementing a quiver and commands to swap out arrow types if someone has multiples?
@Varijon
Urgh, dang. I'll add additional checks tomorrow. But I know why that is happening.
Actually, I haven't touched torch arrows at all in that update :P. But good to know. I wish I would just finally figure out how the arrows location is set by bukkit, it seems it's always off to where I think it is :O. That would make torch arrows a ton more consistent. :/
Yay for adding the toggle!
Torch arrow works better too now, only fails when it hits the side of a block or when there's no space.
But, found a bug..
You can still get infinite special arrows while 'InfinityBowWorks: false'
How to reproduce (possibly too many details):
Get an infinity bow, mine is in hotbar slot 1, get a stack of normal arrows.
Grab 1 special arrow, place it before the arrow stack, so it will get picked first.
Grab a clean bow, fire the special arrow.
Now your infinity bow should be able to fire infinite special arrows untill you fire a normal arrow with the clean bow.
EDIT: After some more testing, clean bow seems to set your arrow type to special arrow, but only checks for the next shot, not which bow is shooting.
1.4 is uploaded and currently waiting approval! it fixes the Infinite Arrow problem. If you liked that, just change it in the config :)
Also, make sure you disable fire blockburning if you don't want it!
@diannetea
No sorry, I prefer null ;). Also changing this would mean all existing recipes would break. People would kill me :O
And no, it currently doesn't tell you how many arrows you have left. Does it just tell you when you shoot an arrow or how? Isn't that really spammy? :/ I can add something like that, but you need to provide a bit more information :)
Instead of defining null as a letter, could you just make it a dash in the recipe? It's a lot cleaner and easier to read the recipes.
Also, I haven't switched over to this yet, still using MyArrow but does your plugin let you know how many arrows you have left? I thought that was a rather nice feature.
2,3k downloads wow! :)
Oh dang, of course! I'll make it toggle able in 1.4
Plugin is great and clean.
But we are running into an issue, infinity on bows is very common for us.. and they only need 1 special arrow to have infinite of them.
Is it possible to somehow force it to take the special arrows?
EDIT: I think it might be way easier to just stop the special arrows from working altogether on a bow with Infinity. Just a toggle in the config?
@Faldonboy
That's not gonna work because even if you reload the config, the crafting recipes get initialized when the plugin starts and I wont be able to reinitialize them without the plugin being reloaded :(
A reload command for when we alter the config would be wonderful.
Whoops, I mistaked the "craftarrow.arrow" for a permission that lets you CRAFT the arrow, since I thought "craftarrow" referred to crafting the arrow and not the plugin's name. My bad.
@CommodoreAlpha Oh really? I don't pay much attention to new plugins really :P All the arrow plugins I could find wouldn't either 1. allow me to change the recipe or 2. would just allow users to left click and choose an arrow type, which is lame :/.
The permissions already exist oO "craftarrow.<arrow>" to allow people to use them. You might wanna take a look at the post above ;)
I'll add name changing to 1.4, I was gonna do it initially but forgot about it :O
Net arrows are already on my to-do list for 1.4 :) Which will probably come out in 1-2 days.
Very nice plugin. There's been many arrow plugins getting made recently, and this is one of the better ones I've seen, though comparing them all at once is a pain. :)
I've a few suggestions. The first one is to add "usearrow.<arrow>" permissions, since you might have players giving out explosive arrows to the newbies at spawn. And you forgot to protect spawn.
Another one is the ability to rename arrows. Changing the crafting recipe is a very nice feature, but it would allow even finer control if the names AND lore were changeable.
And having net arrows would be a plus. (Net arrows are arrows that spawn a configurable amount of cobwebs around where the arrow hit.) With the current arrow list you have there, you've most of the arrows from MoArrows and then some, which I was seeking to replace.
Seriously. Great plugin. Almost a client mod. I love it. Keep up the good work :D
Sorry, Ice Arrows won't be making it but 1.3 has a config option to turn off permission checks! :)
1.3 will be coming later tonight: Ice Arrows Option to turn off permission checks Better default recipes (these will only show up if you delete your config, so if you prefer the old ones or your changed ones keep the old config)
@stadvert
Any will work really, they used to be really different but since bukkit put its own permission API in you can just take any. Personally I use PEX, others use bpermissions or groupmanager and probably many more :P.
I wasn't aware that so many servers don't use permission plugins oO sure it's pretty complicated at first but it's going to be needed unless you want your server messed up by some 12 year old that gets onto your server to grief :P