[FUN] OddArrows v0.9 - Arrows They be Crazy [1.3.2-R0.2]

Discussion in 'Inactive/Unsupported Plugins' started by Anthony Pray, Jul 12, 2011.


What arrows would your like to see

  1. Bridges

  2. Tracers

  3. Outer (Leave a comment)

Multiple votes are allowed.
  1. Offline

    Anthony Pray

    OddArrow - Them arrows be crazy:
    Version: 0.9.0

    This is a description of my awesome OddArrow plugin and how to use it
    After user is given permission oddarrow.oa the user is allowed to use command /oa

    Typing /oa or Left clicking with bow, will toggle through all modes of OddArrow.

    Players can type any of the following commands to access that mode directly.
    While in OddArrow mode all arrows shot by player will behave as following.
    • Rapid Fire:
      • Command: /oa Rapid
        • Description: Rapid Fire arrows shot by player Explode on contact with none LivingEntity.
        • Permission: oddarrow.oam.rapid
    • Remote Explosions:
      • Command: /oa Remote
        • Description: Remote explode arrows. Explode With /boom Command. Allows the placement of many Remote detonator "mines". all arrows placed by player will explode when player types "/boom"
        • Permission: oddarrow.oam.remote
    • Create Light:
      • Command: /oa Light
        • Description: The block the arrow lands in will be set to GlowStone. This will create a "Light" of one GlowStone block.
        • Permission: oddarrow.oam.light
    • Replace: Material
      • Command: /oa Replace
        • Description: Non air blocks will be Replace Where the arrows shot by player lands. Blocks will be replace with the set Material.
        • Permission: oddarrow.oam.replace
      • Command: /oa Replace <Material>
        • Description: Sets the Material to use in Replace / Create mode.
        • example: /oa Replace stone -Will replace all block in a 2 block radius to stone wherever the arrow hits.
        • Permission: oddarrow.oam.Material.<BlockString>
    • Create: Material
      • Command: /oa Create
        • Description: When the arrows shot by player lands. The Air/Lava/Water block the arrow is in will be replace with the set Material.
        • example: /oa Create stone -Will create one block of stone wherever arrow lands.
        • Permission: oddarrow.oa.create
      • Command: /oa Create <Material>
        • Description: Sets the Material to use in Replace / Create mode.
        • Permission: oddarrow.oam.Material.<BlockString>
    • Topsoil removal:
      • Command: /oa Topsoil
        • Description: When the arrows shot by player lands. the created explosion will Explode just Dirt/Sand/etc... leaving stone untouched.
        • Permission: oddarrow.oam.topsoil
    • Lightning strike:
      • Command: /oa Lightning
        • Description: Strike Lightning where arrow lands on none LivingEntity.
        • oPermission: oddarrow.oam.lightning
    • Bridges:
      • Command: /oa Bridges
        • Description: Construct a 1 stone path form player to where arrow lands.
        • oPermission: oddarrow.oam.bridges
    • Mob Spawner: (By Request)
      • Command: /oa Mob
        • Description: if server allows Monsters then will spawn skeleton, if server allows animals then cow will be spawned.
        • Permission: oddarrow.oam.mobs
    • Measuring Tape:
      • Command: /oa mtape
        • Description: Prints out the distance arrow landed form player.
        • Permission: oddarrow.oam.mtape
    • Random Chests: (By Request)
      • Command: /oa chests
        • Description:Spawns a random chest at the location of the arrow hit with dungeon like contents.
        • Permission: oddarrow.oam.chests
    • SnowMen: (By Request)
      • Command: /oa SnowMen
        • Description: Spawns a snowman arrow. Did I do that right?
        • Permission: oddarrow.oam.snowmen
    • Off:
      • Command: /oa Off
        • Description: turn off OddArrows
        • Permission: oddarrow.oa
    • Remove:
      • Command: /oar
        • Description: Remove your player from OddArrows
        • Permission: oddarrow.oa
    • Boom:
      • Command: /boom
        • Description: Used for Remote explode arrows
        • Permission: oddarrow.oa.boom
    • Crate Location
      • Command: /oa loc <Size>
        • Description: Adds a Odd location if UseLocations=true in OddArrow.properties, where <size> is the radius in block from your current position.
        • Permission: oddarrow.loc
      • Command: /oa ploc <Size>
        • Description: Adds a Protected Odd location if UseProtectedLocations=true in OddArrow.properties,where <size> is the radius in block from your current position.
        • Permission: oddarrow.ploc
    • [Permissions]

    • Internal tests tell when arrow is on ground, allows arrows to explode.
    • Using Fixed ProjectileHitEvent.
    • Construct Bridges.
    • Remote detonator "mines"
    • Create / replace blocks.
    • Build in Create mode.
    • Quickly clear topsoil from stone.
    • Works with CreeperHeal 4.4+
    Working on:

    • More working Permissions +V0.2!
    • Fun zones! (aka player are limited to this zone)+V0.4!
    • More arrows!
    • Using player inventory for Create mode +V0.8!
    NOTE *** As of Version: 0.9 ****
    OddArrow.properties defaults fallows
    • UseLocations = False // use of oddarrow only locations.
    • UseProtectedLocations = False //use of odd arrow free locations.
    • BlastSize = 5 // The blast size/strength.
    • BridgeMaterial = STONE // The Material for Bridges if not using inventory.
    • UseInventory = true // all block used in (Create/Replace/Bridge) mode are used form you far right hand slot(8).
    Download The OddArrow Plugin

    Source Code
    Version 0.9.0
    • Updated to Bukkit 1.3.2

    Version 0.8.2
    • small fix. should fix Rapid.

    Version 0.8.1
    • Added Support for Economy via vault, new pref file (OddArrowPriceList.properties) loads costs.
    • Fixed some Location errors should fix the the arrows from not working. note the locations are not saved at this time, hope for in next release.
    • Fix properties to add missing prefs.
    Version 0.8
    • New Inventory mode, only builds with material in your inventory, to set the material, place stack in your far right had slot(#8) then when using Create/Replace/Bridge mode all block used will be used from your inventory.
    • updated Create Light Added "fake" glow stone lights, when braking will drip what ever item was replaced.
    • added Protected Locations, when UseProtectedLocations is true, no arrow landing in the Protected Locations will behave oddly.
    Version 0.7

    • updated to use bukkit permeation, Added Measuring Tape and Random Chests.
    • updated to work with CreeperHeal 4.4+.
    Version 0.6

    • added mob arrows.
    Version 0.5

    • Add Bridge arrows, Bridges will be construed out of stone 1 wide stone block form the players current location to wheresoever the arrow hits replacing only air blocks.
    Version 0.4

    • Added fun zones, allows admins to set up odd zone where players can use odd arrows. to enable set UseLocations=true in OddArrow.properties and then setup location with /oa loc <Size> where <Size> is the radius for your current location.
    Version 0.3

    "ProjectileHitEvent fire instantly when projectiles don't hit entities"
    • started using PROJECTILE_HIT instead of a task. Huge improvident in diction. Still if arrow lands to close to player it will not register.
    • General cleanup.
    Version 0.2

    • Added Major re wright of code.
    • Proper Permissions
    Version 0.1

    • Added PermissionsEx Permission.
    Version 0.0.1

    • Releasing my awesome plugin
    new video up!!!

    A thanks to skeletonofchaos for all the help.
  2. Offline

    Anthony Pray

    Wow kind of for got a bout this tell i get an email just now.
    I am refixing the bulid and adding a few new goodies.
    keep posted.. soon.

    I have tried to find a way to send the block data to the plugin, no luck so far.

    look for in next release.
  3. Offline


    I like bridges!
  4. id like to have this plugin at my server BUT i have questions before i do that:
    1st, can i change the oa BRIDGE material from stone to wood planks?
    2nd, i can prevent players from using any other oa type arrows if i want normal players only to have access to bridge 1 right? if i leave the perms off from others?
    3rd how oa bridge creates the bridge? lets say ure at y: 66 , arrow hits to y: 60 -> does it create 6 blocks thick "bridge" or makes a nice 1 block thick bridge still?


    also a question about the light arrow, it creates GLOWSTONE? Right? so , can play "Abuse" this for creating easy / free glowstones? shoots everywhere and then picks them up with pickaxe? would be good if the player gets back from the glowstone spots where arrow hits : only the material which was converted into glowstone, perhaps could be a nice idea?

    also id love to have customisable costs for using the arrows if wanted.
    My serv uses bPerms & iConomy
  5. Offline


    wow i love you
  6. Offline


    It should work... in the CreeperHeal plugin just turn "magical" explosions on

    "/ch magical (on|off) (world) : same thing for "magical" explosions (from other plugins)."

    havent tested but I'm 99% sure it will work.

    EDIT: lol I didn't notice how old this thread was and that this hasn't been updated
  7. Offline

    Mista Epic

    How about grow arrow?
    Instantly grows wheat or saplings on hit, grows a tree if it hits grass, and grows wheat if it hits farmland...

    Or maybe a snow one? It spreads snow on grass and dirt, and changes stone blocks to snow blocks?

    Healing arrow that heals the target by 1 heart...
  8. Offline

    Anthony Pray

    I just updated it last night.

    the CreeperHeal used onEntityExplode get block data passed form the explosions to store the block that will be destroyed. I am using createExplosion but it not passing to onEntityExplode any help?
    if there is a proper way to crate the explosions so that CreeperHeal will work let me know.

    just tested is working fine with CreeperHeal 4.4
  9. Offline


    So this works fully now? o.o

    edit: also a request, can we use an odd arrow location but set it so odd arrows CANT be used in the area instead of can?
  10. Offline


    This keeps restarting my friends server. Not sure why but it just does
  11. Offline

    Anthony Pray

    YES!! I was so excited so much more fun on my server.
    Shouldn't be a problem.

    well I would need to see the console dump of the stack at time of crash. do you know what version of craftbikkit he is running? as well is there any other plugins being run at the same time?

    All set it up as a setting. I would lile to intergrat with lazyroad. look for in 0.8

    all fix the permission system to allow this. look for in 0.8

    Math... :) , I gets a path between the to points and crates a 1 block path, works supprizingley well
    Arrowlocation = arrow.getLocation().add(0, -1, 0);
    playerlocation = arrow.getShooter().getLocation().add(0, -1, 0);
    distince2 = playerlocation.distanceSquared(Arrowlocation);
    distince = playerlocation.distance(Arrowlocation);
    thisplayer = (Player) arrow.getShooter();
    thisplayer.sendMessage("Distince = "+distince);
    for (double i= 0; i < distince2; i++ ){
        Location Templocation = bridgebulder(Arrowlocation,playerlocation,i);
        if (playerlocation.distance(Templocation) < distince){
            Block thisblock = Templocation.getWorld().getBlockAt(Templocation);
        if( thisblock.getType() == Material.AIR) thisblock.setType(Material.STONE);
    public Location bridgebulder (Location to, Location form, double point){
        point = point/50;
        Double TempX = (form.getX() + (to.getX() - form.getX() )*point);
        Double TempY = (form.getY() + (to.getY() - form.getY() )*point);
        Double TempZ = (form.getZ() + (to.getZ() - form.getZ() )*point);
        Location Temp = new Location(form.getWorld(),TempX,TempY,TempZ);
        return Temp;

    Don't mind if i do... look for in 0.8

    I am hoping to set up to allow you to change the Replace/Create/Bridges to use your inventory to build with. Providing options to build tell you run out of that material in your inventory.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 17, 2016
  12. oh my god this is lovely idea! :) im waiting for updates!!
  13. Offline


    cool plugin, but you seem to have spelled "distince" wrong its correctly spelled distance
  14. Offline


    /oa Rapid doesn't destroy any blocks, but emits a cloud of smoke. It doesn't do any damage either, to me or mobs.

    I'd really like help with my problem. @Anthony Pray

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 17, 2016
  15. Offline

    Anthony Pray

    umm is BlastSize=0? would have that effect.
    what outher plugins are you running?
    /oa Rapid use-is (World.createExplosion) at arrows location, maybe something is blocking the Explosion
  16. Offline


    I'm running worldguard/edit, permissionsex, autoannounce, commandbook, vanishnopacket, spout. But, a plugin probably wouldn't be it because EffectiveArrows explosions work. BlastSize=(default) 5
    What does this mean: /oa Rapid use-is (World.createExplosion) at arrows location, maybe something is blocking the Explosion?
  17. Offline

    Anthony Pray

    So Looking in to LazyRoad I found that it uses the player to get location to buld the roads, aka when you walk you make roads. but not so frendly for bulding with arrows.
    I sent this pull request to creadri in hops to add this function.
    tell then no OddLazyRoads ...
  18. Offline


    Any ideas? Explosions work with EffectiveArrow
  19. Offline

    Anthony Pray

    it uses the command createExplosion as far as i know its the general way to do so.
    it works fine on my server, try disabling plugins and testing one at a time tell you find what one is doing it.
    I am looking over all the new changes in the new [1.0.1-R1] all post back if i find something.

    fyi this is the code as it stands right now.

    arrow.getWorld().createExplosion(arrow.getLocation(), (float) plugin.BlastSize);
  20. Offline


    Hmmm okay.
    But, I'm thinking it could be the plugin because EffectiveArrow works with explosions, and I've tried running clean bukkit servers for the plugin to no avail.
  21. Offline

    Anthony Pray

    My plugin is tested to work with

  22. Offline


    Could you test it with my plugins please?
  23. Offline

    Anthony Pray

    Sorry, I just did a fresh pull of the curent RC and added just my plugin and worked like a champ.
    You got something else going on if you are having problems on a clean server...
    dus EffectiveArrow use a block of TNT still? or is it an instant Explosion?

    sorry dont have the time,
    but if its not running with out any outher plugins than i cant help you with out more info.

    if you dont know jsut shut down your server and rename your plugins to pluginsold or somthing.
    and crate a new plugins folder, place in the OddArrow.jar and start the server, if it works you know it a plugin, if not you got me.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 17, 2016
  24. You should make a snowman arrow :) Have arrows + snowballs in inventory to create snowmans where you shoot the arrow (where arrow lands)
    and make so players need to pay to use arrows if wanted?
    iconomy support plx<3
  25. Offline


    No arrows seem to be working, I imagine its a confliction with


    Also the permissions dont seem to work with permissionsbukkit

    Or well actually you need a permission enter Odd Arrow mode (/oa)

    But also the perms dont let you access it via command like /oa Rapid

    edit: nvm just saw the com.isitbroken.oddarrow.permission

    editedit: Wait is that the right perm? :confused:

    editeditedit: either way no arrows work ;_;

    09.01 02:05:51 [Server] INFO     at net.minecraft.server.ThreadServerApplication.run(SourceFile:457)
    09.01 02:05:51 [Server] INFO     at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:425)
    09.01 02:05:51 [Server] INFO     at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:527)
    09.01 02:05:51 [Server] INFO     at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
    09.01 02:05:51 [Server] INFO     at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:550)
    09.01 02:05:51 [Server] INFO     at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:93)
    09.01 02:05:51 [Server] INFO     at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
    09.01 02:05:51 [Server] INFO     at net.minecraft.server.Packet14BlockDig.a(SourceFile:43)
    09.01 02:05:51 [Server] INFO     at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:208)
    09.01 02:05:51 [Server] INFO     at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:498)
    09.01 02:05:51 [Server] INFO     at net.minecraft.server.ItemInWorldManager.dig(ItemInWorldManager.java:92)
    09.01 02:05:51 [Server] INFO     at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:178)
    09.01 02:05:51 [Server] INFO     at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
    09.01 02:05:51 [Server] INFO     at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
    09.01 02:05:51 [Server] INFO     at org.bukkit.plugin.java.JavaPluginLoader$11.execute(JavaPluginLoader.java:335)
    09.01 02:05:51 [Server] INFO     at com.isitbroken.oddarrow.PbEntityListener.onPlayerInteract(PbEntityListener.java:129)
    09.01 02:05:51 [Server] INFO java.lang.NullPointerException
    09.01 02:05:51 [Server] SEVERE Could not pass event PLAYER_INTERACT to OddArrow


    editediteditedit: just tested without lightningarrow, still doesnt work

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
    Last edited by a moderator: May 17, 2016
  26. Offline

    Anthony Pray

    Should be all fixed

    oddarrow.oa is the right perm I dont know how I missed the old com.isitbroken.oddarrow.permission
  27. Offline


    The explosion happens, but no blocks break like EffectiveArrow. I'm not sure if it uses TNT, but I definitely have some TNT, ( about 128). Should the new version fix my problem? And I tested it again with a clean server and JUST your plugin, and breaking blocks is a no go. Wait...if that happens, then no the plugin doesn't take any TNT for me.
  28. Offline

    Anthony Pray

    im looking in to but i have a silly ? did you try as op?
  29. Offline


    With the new version, I added oddarrow.oa to permissionsex, and added Vault ?(why do I need this, it said disabled without)? and I get the same error as @shanko
  30. Offline

    Anthony Pray

    Ok fresh build up, I tried this on a fresh server with PermissionsEx

            default: true
            - modifyworld.*
            - oddarrow.oa
            - oddarrow.oam.*
    fixed but will need to support Economy
  31. Offline


    So I will need Economy and Vault?

Share This Page