MoArrows
Update 11 October 2013: For those of you who have been asking, I no longer have the source for this plugin. I deleted all traces of it from my computer once I truly realized how Minecraft users treat developers. If you want the source, you'll have to decompile.
An honest and humbling note from MisterAverage: I've recovered my source code for the plugin. Unfortunately, after 8 months away from it, I feel like it might have well been written in a semi-foreign language. While I can still waddle my way through one procedure call to the next and make sense of it bit by bit, I can already tell that updating this archaic code (especially for the inevitable 1.6 update) will be a daunting chore for a one-man operation to say the least. I'm extremely surprised MoArrows maintained its functionality as long as it has. .
In addition, I've noticed this evening that there are quite a few other (*cough* ripoff *cough*) plugins that seem to have captured the arrow modification spotlight without giving the slightest bit of credit to original ideas coming from skeletonofchaos, ayan4m1, myself, or any other arrow modder on Bukkitdev. To be honest, that in itself sickens me enough to call it quits and just have fun with Minecraft like I did before all of this. Coding ethics just aren't what they used to be I guess. .
I've spent literally countless hours compiling a bunch of java and accompanying documentation for people that I don't know in an effort to make Minecraft a more fun game to play. In the process of doing that, I almost forgot what it was like to just have fun in this game with a group of friends without worrying about updates or tickets or testing. And quite frankly, I have more important things to attend to in my real life. I'm sure I'll still code from time to time. Hell, I might still write plugins. But in the future, they will all be public domain because they will be copied no matter what "license" i put on them. That being said, I would still be willing to assist anyone who wishes to reproduce an updated version. .
As of this message, all of my projects are open to the public (hence public domain) and free to clone, decompile, copy, alter, or whatever. I can provide source and give advice if necessary. I honestly don't care anymore. Credit me, or don't. It doesn't matter in the grand scheme of things. I just hope I had some impact on the game, and I thank you all for sticking with me for so long. To those of you who donated, be happy in the fact that you provided the beer for late night coding sessions during the development process of this plugin, and for that I'm eternally grateful. =P .
One last thing.. I'll see you all in game. You aint gettin' rid of me that easy! =P .
-MisterAverage (in game name: _MrAverage_) .
(message updated on 4 May 2013, 01:32 CST) .
.
Intro: Tired of bow usage being a joke? Want to add a new dimension of excitement to PvP battles? Wish there was more depth to archery in Minecraft? If you answered yes to any of these, read on.
Each arrow has it's own unique ability that adds more versatility to archery in Minecraft. In addition, this plugin attempts to solve the huge degree of imbalance between melee and ranged attacks in vanilla Minecraft. I was amazed that a player could empty half a stack of arrows into a diamond clad attacker and still not get a kill. This plugin provides the capability to even the playing field between bows and swords and make PvP battles much more dynamic. There is now an alternative to a bunch of tanks wildly swinging blades at each other! The overall goal is to make archery more playable, particularly in PvP servers.
(NEW!) Version 2.4.2 is awaiting approval. Check back in an hour or two for the download link!
(¡NUEVO!) ¡Para obtener ayuda en español, - haga clic aquí -!
.
Features:
- - More arrow types!
- - poison, explosive, (NEW!) compression, teleport, lightning, slow, razor, piercing, fire, net, doombringer
- - Perfect for a Ranger class!
- - see -this page- for detailed descriptions of all arrow types.
- - Beefy damage system!
- - Customize all base and crit damage levels! You decide what damage the bow does!
- - Replaces default crit system with a newer, sexier one
- - See -this page- for notes on physical vs. special damage
- - Take your time and aim.. damage is increased when crouching (sneaking) while shooting!
- - Customize arrow damage over time effects (fire, poison, etc)!
- - Heavy armor reduces bow effectiveness.. it's hard to shoot with plate armor on!
- - For advanced users, you can customize the damage penalty levels!
- - Control who can use what arrows with new permissions support!
- - Add arrow cooldowns!
- - Add item costs for arrow types! Want the player to have TnT for an exploding arrow? No problem!
- - Add up to 10 item type requirements (64 items per requirement max) per arrow!
- - (You will never need more than this.)
- - WorldGuard support! Keep those deadly arrows out of safe regions!
- - If a region does not allow PvP, the arrow does no damage.
- - Towny support! Keep those deadly arrows out of non-PvP towns!
- - If a town has disabled PVP, the arrow does no damage.
- - Factions support! Add protection to faction zones!
- - Enable or disable block explosion and fire damage in the config.
- - Safe and peaceful zones are now protected against special arrows.
- - (NEW!) Users can now remove unwanted arrow types from bow cycling! See the usage instructions!
- - (NEW!) Customize razor and piercing multipliers as well as doombringer poison duration!
Installation:
- (If upgrading,) read the changelog for the version you have downloaded.
- (If upgrading,) delete or remove previous version's MoArrows files from the server's plugin directory
- Run or /reload the server with the MoArrows jar in the plugins folder to generate the default config
- Edit config to your desire (see the default config -on this page-)
- Install a permissions plugin, preferably PermissionsBukkit 1.6 or PermissionsEX 1.19.1
- If your server uses Towny, make sure you're using version 0.80.1.0 or later
- (optional) Install WorldGuard and WorldEdit
- Add or remove permissions to your liking (see sample permissions -on this page-)
- Restart or /reload your server for all changes to take effect
- Test your setup before going live with your users!
- If you have a quick question about a feature or setting, feel free to ask in the comments below.
- Problems? Please submit a ticket! It's the quickest and most organized way to get help. An example of the perfect ticket can be found - here -! This ticket was extremely detailed an allowed me to locate and fix the problem in very little time with no additional information required. If you do not follow the ticket format, you ticket will be declined. Period.
A note about permissions: If I set all permission defaulted to false, people who are unfamiliar with permissions usage complain that the plugin doesn't work. If I have them defaulted to true, people who are unfamiliar with permissions usage complain about everyone having use of all permissions. ALL MoArrows permissions can be enabled or disabled to suit your needs if you learn how to use your permissions plugin well. Please do not post any more questions about permissions unless you have exhausted all other options for learning the system.
Quote:Most arrows are enabled by default, yes. Please check out the default permissions to see what is and isn't enabled at the following link..
http://dev.bukkit.org/server-mods/moarrows/pages/plugin-yml/
The reason most types are enabled by default is because, when they were all set to false, so many permissions newbs complain that the plugin doesn't work when they haven't set any permissions for it (and subsequently uninstall MoArrows). Unfortunately, now that I've set many permissions default to true, I have people complaining that everyone can use "all" the arrow types.
It's an unfortunate double edged sword at my neck. If I set all to false, people say it doesn't work.. if i set all to true, people complain that it works for everyone. I don't have a remedy for this aside from saying to everyone "LEARN PERMISSIONS!" =)
Usage:
- left click with bow to cycle through arrow types
- Shift+left click to cycle backwards
- /moarrows [arrowtype] - disables or re-enables arrow types in the selection sequence at the user level
- /moarrows list - lists important config values
- /moarrows help - shows a quick command reference
- /moarrows help [arrowtype] - displays arrow summary and required materials
- /moarrows reload - reloads all config.yml values
- /moarrows version - displays the server's version of MoArrows
Permissions:
moarrows.use.all (default: false)
moarrows.bypassmaterials (default: false)
moarrows.bypasscooldowns (default: false)
moarrows.allowcrit (default: true)
moarrows.use.[arrow type goes here] (default: true except teleport and doombringer)
moarrows.list (default: true)
moarrows.help (default: true)
moarrows.reload (default: op)
Arrow types are currently normal, poison, explosive, compression, teleport, lightning, slow, razor, piercing, fire, net, and doombringer. Note: The superperms bug has been fixed. You can now safely disable features of MoArrows with them.
Change Log:
Please see v2.4.1 download page for the full changelog.
.
Special thanks: First and foremost, I'd like to thank ayan4m1 (the developer of multiarrow) for creating the initial framework for the first few versions of MoArrows. A big shout out goes to Shanko (owner of war.pvpzone.org:25600) for being the first server owner to beta test for me. I couldn't have completed the Towny support without the testing from Zombiemold. Factions support wouldn't have happened without spacecakeXD and Imkingoflive. A really cool guy named Cecell helped me out a bunch with McMMO testing on his server. LastWishESP from Youtube deserves muchas gracias for his 2.3.3 file translation and tutorial video. Thanks go out to Clanforge AKA multiplay.co.uk for adding MoArrows. Also, I am incredibly grateful for those of you who've donated to this project so far, as well as those of you who are considering doing so in the future.
@iKrzysiek
If I do, it wont be til I get these bugs worked out. I'll definitely keep your name handy in the event I get a start on that.
@Nik0lashka
As memorex said, You should be able to run java 7 and java 6 at the same time. If you point your server batch file to the java 7 path and your client batch to java 6, that might be a good temporary fix until I can code something better for handling that.
Can you add a language file? With it will be easier to translate plugin to much languges. If you wan't I can translate it to Polish :)
@Memorex39
well actually i know that, i had firstly 6 - client launched but moarrows doesn't, then i installed 7 changed .bat file - moarrows launched but client stopped, uninstalled 7 and changed .bat - client launched but moarrows again doesn't, may be i need to change smth in client files like for the server i change .bat?
@MisterAverage
Don't get me wrong. I didn't say it fixed any issue with MoArrows, it's just possible to run both Java7 and Java6 for server and client on same machine.
I have had to uninstall MoArrows to stop the errors. This ticket I have created shows the errors, this is with the server running Java7. Initially I thought there was a permissions issue, but even with full admin permissions the errors occur.
Thanks, I really like the plugin and hope you can find out what could be happening when you have the time.
@Strelet12
I really can't do much without an error log or more accurate description of exactly whats happening.
@Memorex39
Exactly right. It seems like these errors for major.minor version are issues with java version. You're the second person to tell me that upgrading to JRE 7 fixed your problem. I look into it more when I get back in town. I'll also take a closer look at the command and permission issues.
@Nik0lashka
Hey Nik0lashka,
I run both client and server on same machine. You can install manually multiple java versions.
I have Java6 and Java7 install. I point the server to the java7 install from batch file.
Client naturally goes to Java6 it seems.
Here is my server .bat file - "C:\Program Files\Java\jre7\bin\java.exe" -Xms1024M -Xmx4096M -jar "craftbukkit-1.2.3-R0.3-20120316.211347-21.jar"
Just go here for manual Java downloads: http://www.java.com/en/download/manual.jsp
Hope this helps.
I put this on my server, but it doesn't work.
I know that won't help you, but I can't really say much, I did what instro's said and the config as well, but it doesn't work. I even put WorldGuard just to test it out, nope.
It needs a better support...I hope you can remove the need for WorldGuard soon.
Though, it's probably my fault too as I use 1.2.3 R0.3, dev build, while this plugin says it's for R0.2.
@Nik0lashka
solved this by installing java7 beta version from java.com and changing it in .bat file that launches the server
P.S. but client doesn't work at java7, so there is no way to launch plugin and server on one machine
hello i got an error while all neded plugins are installed, i use 1.2.3R0.2 and 1.0.0 versions of server and plugin
[SEVERE] Could not load 'plugins\MoArrows_v1.0.0.jar' in folder 'plugin s' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError : com/gmail/l0g1clvl/MoArrows/MoArrows : Unsupported major.minor version 51.0 at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:150) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager. java:287) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager .java:211) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:207) at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:183) at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigur ationManager.java:56) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:156) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425) at net.minecraft.server.ThreadServerApplication.run(SourceFile:490) Caused by: java.lang.UnsupportedClassVersionError: com/gmail/l0g1clvl/MoArrows/M oArrows : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader. java:41) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader. java:29) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:139) ... 8 more
@MisterAverage
I had sent you and email with a link to download the server, I will wait your answer.
Hello! I am just here to mention that I have installed moarrows into our server and we have WorldGuard, WorldEdit, GroupManager (which is an extention of permissions bukkit) and I can not for the life of me get it to work. I have set up all the permissions correct and everything in the moarrows file looks good but when I or the owner type /ma list there is no command response. I am thinking GroupManager is not picking up the permissions for moarrows however shouldn't the OP of the server automatically have use of the /ma list command?
@xindear
Hmm.. very strange then. Make sure you're running the latest version of JRE 6, and if that's good, run a test server on a different port with only this plugin and the required plugins running. If that gives you the same error, zip your temp server folder and email it to [email protected] so I can debug.
I am running java 6
@xindear
This problem has been addressed. If you're using a different version of java than what this plugin was compiled with, you'll get this error. I compiled with version 6.
13:04:53 [INFO] This server is running CraftBukkit version git-Bukkit-1.2.3-R0.2 -b2060jnks (MC: 1.2.3) (Implementing API version 1.2.3-R0.2) 13:04:54 [SEVERE] Could not load 'plugins\MoArrows_v1.0.0.jar' in folder 'plugin s' org.bukkit.plugin.InvalidPluginException: java.lang.UnsupportedClassVersionError : com/gmail/l0g1clvl/MoArrows/MoArrows : Unsupported major.minor version 51.0 at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:150) at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager. java:287) at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager .java:211) at org.bukkit.craftbukkit.CraftServer.loadPlugins(CraftServer.java:207) at org.bukkit.craftbukkit.CraftServer.<init>(CraftServer.java:183) at net.minecraft.server.ServerConfigurationManager.<init>(ServerConfigur ationManager.java:56) at net.minecraft.server.MinecraftServer.init(MinecraftServer.java:156) at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425) at net.minecraft.server.ThreadServerApplication.run(SourceFile:490) Caused by: java.lang.UnsupportedClassVersionError: com/gmail/l0g1clvl/MoArrows/M oArrows : Unsupported major.minor version 51.0 at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(Unknown Source) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$000(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader. java:41) at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader. java:29) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j ava:139) ... 8 more this is the error I get only when the moarrow plugin is installed
@xindear:
Need more info than that man. Do you have error logs? Are you using the required plugins? Has your problem been addressed in other posts? I gotsta have the details if you want answers.
I am using 1.0.0 and it won't load in my server at all.
@nachokoto
Alright man.. if you can, zip that temp server up, and send it to [email protected] and I'll check it out and see what the problem is.