Inactive [MECH/FUN/RPG] EffectiveArrows v2.5.3 - Arrows are now Effective![SPOUT] [1060]

Discussion in 'Inactive/Unsupported Plugins' started by skeletonofchaos, Jul 14, 2011.

  1. Offline

    skeletonofchaos

    EffectiveArrows -the bow is now an effective weapon!
    PluginVersion 2.5.3
    ServerVersion /version: git-Bukkit-0.0.0-905-g9277096-b1000jnks (MC: 1.7.2)
    Download EffectiveArrowsv2.5.3

    Requirements:
    • Spout

    Features:
    • Toggle between arrow types by left clicking or if you are using the SpoutCraft launcher you can use the , and . keys to cycle forward and backwards through arrow types.
    • GUI for users using the SpoutCraft launcher.
    • Seven unique arrow types:
    1. Normal: Just the standard arrow, uses one arrow per shot.​
    2. TNT: Explodes on contact, by default uses one arrow and one tnt per shot.​
    3. Lightning: Strikes area with lightning on contact, by default uses one arrow and one diamond per shot.​
    4. Fire: Lights hit area on fire, by default uses one arrow and one wool per shot. Now emits smoke when flying!
    5. Iron: does four damage instead of two, by default uses one iron ingot and one arrow per shot.​
    6. Diamond A.K.A Razor: does six damage, by default uses one diamond and one arrow per shot. They are razor sharp!​
    7. Smoke: Releases a cloud of smoke upon hitting something, by default uses one gunpowder.​

    Permissions (These are super perms):
    The use of permissions can be toggled on/off in the config file if off it will allow players to use allowed arrow types (specified in config) while ops can use all. If permissions are enabled the use of arrows is based on the following nodes, note these are the Bukkit-integrated super perms so you cannot use third party permission plugins like permissions:​
    EffectiveArrow.use.explosive
    EffectiveArrow.use.lightning
    EffectiveArrow.use.flaming
    EffectiveArrow.use.iron
    EffectiveArrow.use.razor
    EffectiveArrow.use.smoke
    Or use EffectiveArrow.use.* to use all arrows!
    I highly recommend using bpermissions for managing super perms.​

    Notes:
    1. The arrow effect works both on contact with entity and blocks; however with blocks there is a small delay.
    2. I would be more than happy to implement new features/arrow types if they are well balanced and the requests are well thought out and politely phrased.
    Upcoming features! (open)
    Eventually custom arrow looks for each arrow type A.K.A. You will be able to see the wool on the fire arrow, the tnt on the explosive arrow and so on. Exciting stuff!

    Features/Tutorial (open)

    Before reporting that you can't switch arrows while using permissions look here:
    Installation (open)

    Remember this plugin uses super-perms which are built into Bukkit not third party applications such as Permissions. To use this you must use a permission handler that directly effects Bukkit permissions (I recommend bPermissions). I understand this is a little hard to grasp seeing that they both do the same thing.



    Changelog:
    v2.5.3:
    Fixed for Spout update! Sorry guys.​
    v2.5.2:
    Fixed for RB 1060!​

    Previous Versions (open)

    v2.5.1:
    Explosive arrows can now be effected by world guard and other such plugins that effect explosions.​
    v2.5:
    Gave the ability to toggle whether or not to use the old method of banning individual arrows while ops can use all. The banned arrows and whether or not to use permissions can all be found and changed in the config file. Rewrote some sections of code. PLEASE DELETE CONFIG FILE UPON UPDATING!
    v2.4:
    You no longer have to give permission for normal arrows. Stopped the plugin from crashing the server if setup incorrectly :). Removed old code. Improved efficiency due to removal of repeated checks of the same condition. Added hidden feature.​
    v2.3:
    Completely implemented the * node. Explosive arrows remove themselves now so no more lag in blown up areas. Fixed a bug where you could switch arrow types in chat. Fixed a bug do to two Runnables conflicting (resulting in an ArrayIndexOutOfBounds exception). Improved code efficiency. Removed the timer setting in the config file due to the new changes. PLEASE DELETE CONFIG FILE UPON UPDATING!
    v2.2:
    GUI now only shows when a player is interacting with a bow and arrow (note: this means it enables and disables on left and right clicks, the item held change event cannot handle scrolling well). Customizable GUI location! Removed redundant code.Added EffectiveArrow.use.* permission node. PLEASE DELETE CONFIG FILE UPON UPDATING!
    v2.1:
    Added smoke arrows! PLEASE DELETE CONFIG FILE UPON UPDATING!
    v2.0:
    Added the ability to customize the size of the explosion for the explosive arrow. Added config file to change the item needed to shoot the arrow. Added GUI for users running the SpoutCraft launcher. Added the ability to cycle through the arrows if using the SpoutCraft launcher using the , and . keys. Fire arrows now emit smoke while flying. Made some code more efficient. PLEASE DELETE CONFIG FILE UPON UPDATING!

    v1.7:
    You can now customize the blast radius of the ExplosiveArrow and we now have Bukkit integrated permission support. PLEASE DELETE CONFIG FILE UPON UPDATING!
    v1.6:
    Emergency fix for a weird bug. You can now adjust how long it takes arrows to activate after hitting blocks. Ops can still use banned arrows so if you want this to be op only just set all arrows to banned. PLEASE DELETE CONFIG FILE UPON UPDATING!
    v1.5:
    Added config file now you can have only the arrows you want to have! Added two new​
    arrow types iron tipped and diamond tipped which do 4 and 6 damage respectively.​
    v1.4:
    Did a rewrite of code. Each arrow type is now it's own class! What does this mean for you? Config file will be coming shortly and more arrows will be added! Also players now can only switch to arrows they have materials for.​
    v1.3:
    released plugin!​


     
  2. Offline

    skeletonofchaos

    It is but game balance is a big thing for me so balancing is the issue.
     
  3. Offline

    xsmas96

    oic
     
  4. Offline

    Achelon

    Would implementing knockback arrows be possible? I've made an arrow machine gun, however because of the momentary invulnerability you get to arrows after being struck by one, any arrow machine gun isn't really effective after a certain firing rate, arrows that could knock you back just 1-3 blocks would be extremely effective.
     
  5. Offline

    skeletonofchaos

    OK where is the arrow machine gun coming from this only affects player launched arrows... But yeah knock back arrows would be possible... they're actually really easy.
    *Edit* made them debating whether or not to add them they're a little over powered....
     
  6. Offline

    yottabyte

    Don't know if you have fixed it, but you can update an inventory with player.updateInventory()

    It's deprecated but it still works.
     
  7. Offline

    skeletonofchaos

    Since the second to last spout update it hasnt been that much of a problem
     
  8. Offline

    Achelon

    Would you consider adding support for dispenser-fired arrows? It may be overpowered but if you added permission for it I don't see the problem.

    Edit: Or at the very least add support for dispenser-fired arrows for the steel and diamond/razor types.
     
  9. Offline

    skeletonofchaos

    I have yet to find an efficient way of doing it last time I tried it (in a private release) it bogged the servers down horribly.
     
  10. Offline

    Ryan56k

    I love this plugin! Is it dead or are updates coming?
     
  11. Offline

    skeletonofchaos

    As soon as Bukkit has an on arrow fired event it will be updated.
     
  12. Offline

    Ryan56k

    Alrighty, I anxiously await.
     
  13. Offline

    emericask8ur

    I was making something like this before but never contiuned lol but anyways you should add it so you can Spawn Creatures and Create a Structure on Hit, Example, Sphere/a Block !
     
  14. Offline

    skeletonofchaos

    No... well maybe... yes. Don't really know I want this to primarily be used for pvp/rpg so make an argument why I should add them.
     
  15. Offline

    emericask8ur

    Idk Just a small feature to throw out there, you know what I mean? See when I did mine it was on command Like i would type /Arrow Cow and it will start spawning cows when the arrow hit, Just little stuff like that; Good Idea though!
     
  16. Offline

    xmagicx60

    Problem: in 1.8, you shoot arrows before charging the bow, then when you finish charging it, nothing fires.
     
  17. Offline

    skeletonofchaos

    Has been mentioned in previous posts as I have had tried to adress. This will not be fixed until Bukkit has an onArrowFired event until then your sol.
     
  18. Offline

    xmagicx60

    OK, like it anyways! can you add a command to turn it on/off with a command? As an Admin, I would like for the users to have a good experience with the bows, but still when I need to use the special arrows, (yes there is a practical use for them) to turn them on for me, but no one else unless they type the command.
     
  19. Offline

    skeletonofchaos

    Hmm you could do it by changing the config file until I add it being very very busy it will be a while before I can update.
     
  20. Offline

    xmagicx60

    ok. Thats fine with me!
     
  21. Offline

    xFallenLegend

  22. Offline

    skeletonofchaos

  23. Offline

    xmagicx60

    One more question, is there source? I though every bukkit plugin was supposed to have the source code as well?

    Oh and the reason I'm asking is, I want to see how you managed to get this to work, Ive been trying different things for my SMGArrows plugin and it's not working

    Orite.. Spout
     
  24. Offline

    skeletonofchaos

    First off no it is not a requirement to have source also my code is under an all rights reserved license. Spout has nothing to do with this project except for the GUI for Spoutcraft users. Lastly why would I help someone make a competing plugin?
     
  25. Offline

    xmagicx60

    1. Oh ok, better reread the terms of use before I publish mine.
    2. Yea, but it seems to be more reliable on Spout, I can't get it to work on vanilla, no errors or anything.
    3. Its not directly competing, It's a command-based submachinegun that I want to have smoke trails on.

    Sorry if my posts came across as mean :(
     
  26. Offline

    skeletonofchaos

    Nah it's ok I'll help you as long as you state was helped by Skeletonofchaos
     
  27. Offline

    xmagicx60

    Thanks! I promise that I will. Just one thing, when I post it, it will probably be Open-Source. (I use Linux Ubuntu so you can understand why I like FOSS.) Is that okay with you? The plugin itself is mostly functional ATM, just need to do permissions and config files and add snowball function.

    So how would I go about adding smoke trails to the arrows?
     
  28. Offline

    skeletonofchaos

    Add a listener to a runnable that has been scheduled then make it so every so often (when the runnable runs) make it go thru the active arrow list and apply a smoke effect by some method I don't remember (decompile my source feel free to look at it). I give you permission to look and use it so you can learn assuming I am credited.
     
  29. Offline

    xmagicx60

    I will indeed credit you. I'm also redoing my whole system... You'd facepalm if you saw my current source code. I couldn't figure out how to make a runnable do-every, so I embedded a runnable in a runnable in a runnable and soforth.
    Then It just occored to me to do a while() statement and use a boolean to activate it and set the integer right after the arrow fires >_>

    I wouldn't be surprised if you didn't understand that, I have a hard time expressing myself.
    basicly this:

    Code:text
    1. public void run() {
    2. p.shootArrow();
    3. tid = Bukkit.getServer().getScheduler().scheduleSyncDelayedTask(plugin, new Runnable() {
    4.  
    5. @Override
    6. public void run() {
    7. p.shootArrow();
    8. }
    9. }
    10. }


    EDIT: Dangit, my fix had a problem, It only gets called when the player chats, but If I remove that, then it can't find what the player is.

    EDIT2: Tried to bypass the call above by using while(), it seems just to make an infinite loop no matter what I try. Is anything wrong with this?
     
  30. Offline

    skeletonofchaos

    Schedule a repeating asynchronous task...
     
  31. Offline

    xmagicx60

    Okay, I tried that, but I couldn't set a delay for it right, any tips? I completely reverted to the old method ATM.

    This is only my second plugin without a tutorial, and my 6th java project ever, though I'm familiar with PHP and JavaScript. (Yes, I know they're not similar, but they're the closest thing I've done)

    I'll try again after breakfast.
     

Share This Page