Projectiles not working....

Discussion in 'Plugin Development' started by ScrubHunter, Jan 29, 2014.

Thread Status:
Not open for further replies.
  1. Offline

    ScrubHunter

    Hey there, ScrubHunter here. I'm here today to ask; Why do my arrows, that is shooted from a diamond hoe, pill off when they hit the target? No error in console. This is pretty annoying, because I just made this new Minigame, but the weapons wont work because of this.
    Here's my plugin: (Minigame source not involved)
    My Main class:
    Code:java
    1. package scrubhunter;
    2.  
    3. import java.util.logging.Logger;
    4.  
    5. import org.bukkit.ChatColor;
    6. import org.bukkit.plugin.PluginDescriptionFile;
    7. import org.bukkit.plugin.java.JavaPlugin;
    8.  
    9. public class Main extends JavaPlugin {
    10. public final Logger logger = Logger.getLogger("Minecraft");
    11. public static Main plugin;
    12.  
    13. @Override
    14. public void onDisable(){
    15. PluginDescriptionFile pdfFile = this.getDescription();
    16. this.logger.info(pdfFile.getName() + ChatColor.BLUE + " has been disabled");
    17. }
    18.  
    19. @Override
    20. public void onEnable(){
    21. PluginDescriptionFile pdfFile = this.getDescription();
    22. this.logger.info(pdfFile.getName() + " Version " + pdfFile.getVersion() + " has been enabled");
    23. this.getServer().getPluginManager().registerEvents(new Hat(), this);
    24. this.getServer().getPluginManager().registerEvents(new Tnt(), this);
    25. }
    26. }
    27.  


    My Hoes-that-shoot-projectiles class file:
    Code:java
    1. package scrubhunter;
    2.  
    3. import org.bukkit.ChatColor;
    4. import org.bukkit.Effect;
    5. import org.bukkit.Material;
    6. import org.bukkit.entity.Arrow;
    7. import org.bukkit.entity.Egg;
    8. import org.bukkit.entity.Player;
    9. import org.bukkit.entity.Snowball;
    10. import org.bukkit.event.EventHandler;
    11. import org.bukkit.event.EventPriority;
    12. import org.bukkit.event.Listener;
    13. import org.bukkit.event.block.Action;
    14. import org.bukkit.event.player.PlayerInteractEvent;
    15.  
    16. public class Hat implements Listener{
    17.  
    18.  
    19. @EventHandler (priority = EventPriority.HIGH)
    20. public void onPlayerInteract(PlayerInteractEvent event){
    21. Player player = event.getPlayer();
    22. Action action = event.getAction();{
    23. if(action == Action.RIGHT_CLICK_AIR){
    24. if(player.getItemInHand().getType() == Material.WOOD_HOE){
    25. player.launchProjectile(Snowball.class); }
    26. }else if(action == Action.RIGHT_CLICK_BLOCK){
    27. if(player.getItemInHand().getType() == Material.WOOD_HOE){
    28. player.launchProjectile(Snowball.class);
    29. }
    30. }
    31. }{
    32. if(action == Action.RIGHT_CLICK_AIR){
    33. if(player.getItemInHand().getType() == Material.DIAMOND_HOE){
    34.  
    35.  
    36. player.launchProjectile(Egg.class);
    37. if(player.getItemInHand().getType() == Material.DIAMOND_HOE)
    38. player.getWorld().playEffect(player.getEyeLocation(), Effect.ENDER_SIGNAL, 5000);
    39. if(player.getItemInHand().getType() == Material.DIAMOND_HOE)
    40. player.getWorld().playEffect(player.getEyeLocation(), Effect.ZOMBIE_CHEW_WOODEN_DOOR, 5000);
    41. }
    42. }
    43.  
    44. }if(action == Action.RIGHT_CLICK_BLOCK){
    45. if(player.getItemInHand().getType() == Material.DIAMOND_HOE){
    46. player.sendMessage(ChatColor.GOLD + "You can only shoot players");
    47. }
    48. }if(action == Action.RIGHT_CLICK_AIR){
    49. if(player.getItemInHand().getType() == Material.GOLD_HOE)
    50. player.launchProjectile(Arrow.class);
    51.  
    52. if(player.getItemInHand().getType() == Material.GOLD_HOE)
    53. player.getWorld().playEffect(player.getEyeLocation(), Effect.BLAZE_SHOOT, 1);
    54. if(player.getItemInHand().getType() == Material.GOLD_HOE)
    55. player.getWorld().playEffect(player.getEyeLocation(), Effect.MOBSPAWNER_FLAMES, 5000);
    56. }else if(action == Action.RIGHT_CLICK_BLOCK){
    57. if(player.getItemInHand().getType() == Material.GOLD_HOE)
    58. player.launchProjectile(Arrow.class);
    59. if(player.getItemInHand().getType() == Material.GOLD_HOE)
    60. player.getWorld().playEffect(player.getEyeLocation(), Effect.BLAZE_SHOOT, 1);
    61. if(player.getItemInHand().getType() == Material.GOLD_HOE)
    62. player.getWorld().playEffect(player.getEyeLocation(), Effect.MOBSPAWNER_FLAMES, 5000);
    63.  
    64. }
    65. }
    66.  
    67. }

    And at the end, the explosion-egg class file:
    Code:java
    1. package scrubhunter;
    2.  
    3.  
    4. import org.bukkit.entity.Egg;
    5. import org.bukkit.event.EventHandler;
    6. import org.bukkit.event.Listener;
    7. import org.bukkit.event.entity.EntityDamageByEntityEvent;
    8.  
    9.  
    10. public class Tnt implements Listener {
    11.  
    12.  
    13.  
    14.  
    15. @EventHandler
    16. public void onProjectileHit(EntityDamageByEntityEvent event) {
    17. if (!(event.getDamager() instanceof Egg)) {
    18. event.setCancelled(true);
    19. return;
    20. }
    21. event.getEntity().getWorld().createExplosion(event.getEntity().getLocation(), 5, true);
    22. }
    23.  
    24. }
    25.  



     
  2. Offline

    foldagerdk

  3. Offline

    ScrubHunter

    I'll try, thanks.
    Btw, you're Danish?
    If yes, me too :D
    If no, damn it.

    Cant make it work.

    foldagerdk It doesn't work for me, am I using the right code?
    Code:java
    1. package scrubhunter;
    2.  
    3. import org.bukkit.ChatColor;
    4. import org.bukkit.Effect;
    5. import org.bukkit.Material;
    6. import org.bukkit.World;
    7. import org.bukkit.entity.Arrow;
    8. import org.bukkit.entity.Egg;
    9. import org.bukkit.entity.Pig;
    10. import org.bukkit.entity.Player;
    11. import org.bukkit.entity.Snowball;
    12. import org.bukkit.event.EventHandler;
    13. import org.bukkit.event.EventPriority;
    14. import org.bukkit.event.Listener;
    15. import org.bukkit.event.block.Action;
    16. import org.bukkit.event.entity.EntityDamageByEntityEvent;
    17. import org.bukkit.event.entity.ProjectileHitEvent;
    18. import org.bukkit.event.player.PlayerInteractEvent;
    19.  
    20. public class Hat implements Listener{
    21.  
    22.  
    23. @EventHandler (priority = EventPriority.HIGH)
    24. public void onPlayerInteract(EntityDamageByEntityEvent event){
    25. setBounce(false);
    26. }
    27.  
    28.  
    29.  
    30. @EventHandler (priority = EventPriority.HIGH)
    31. public void onPlayerInteract(PlayerInteractEvent event){
    32. Player player = event.getPlayer();
    33. Action action = event.getAction();{
    34. if(action == Action.RIGHT_CLICK_AIR){
    35. if(player.getItemInHand().getType() == Material.WOOD_HOE){
    36. player.launchProjectile(Snowball.class); }
    37. }else if(action == Action.RIGHT_CLICK_BLOCK){
    38. if(player.getItemInHand().getType() == Material.WOOD_HOE){
    39. player.launchProjectile(Snowball.class);
    40.  
    41. }
    42. }
    43. }{
    44. if(action == Action.RIGHT_CLICK_AIR){
    45. if(player.getItemInHand().getType() == Material.DIAMOND_HOE){
    46.  
    47.  
    48. player.launchProjectile(Egg.class);
    49. if(player.getItemInHand().getType() == Material.DIAMOND_HOE)
    50. player.getWorld().playEffect(player.getEyeLocation(), Effect.ENDER_SIGNAL, 5000);
    51. if(player.getItemInHand().getType() == Material.DIAMOND_HOE)
    52. player.getWorld().playEffect(player.getEyeLocation(), Effect.ZOMBIE_CHEW_WOODEN_DOOR, 5000);
    53. }
    54. }
    55.  
    56. }if(action == Action.RIGHT_CLICK_BLOCK){
    57. if(player.getItemInHand().getType() == Material.DIAMOND_HOE){
    58. player.sendMessage(ChatColor.GOLD + "You can only shoot players");
    59. }
    60. }if(action == Action.RIGHT_CLICK_AIR){
    61. if(player.getItemInHand().getType() == Material.GOLD_HOE)
    62. player.launchProjectile(Arrow.class);
    63.  
    64. if(player.getItemInHand().getType() == Material.GOLD_HOE)
    65. player.getWorld().playEffect(player.getEyeLocation(), Effect.BLAZE_SHOOT, 1);
    66. if(player.getItemInHand().getType() == Material.GOLD_HOE)
    67. player.getWorld().playEffect(player.getEyeLocation(), Effect.MOBSPAWNER_FLAMES, 5000);
    68. }else if(action == Action.RIGHT_CLICK_BLOCK){
    69. if(player.getItemInHand().getType() == Material.GOLD_HOE)
    70. player.launchProjectile(Arrow.class);
    71. if(player.getItemInHand().getType() == Material.GOLD_HOE)
    72. player.getWorld().playEffect(player.getEyeLocation(), Effect.BLAZE_SHOOT, 1);
    73. if(player.getItemInHand().getType() == Material.GOLD_HOE)
    74. player.getWorld().playEffect(player.getEyeLocation(), Effect.MOBSPAWNER_FLAMES, 5000);
    75.  
    76.  
    77.  
    78. }
    79. }
    80.  
    81.  
    82.  
    83.  
    84. }
    85.  
    86.  
    87.  


    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: Jun 6, 2016
  4. Offline

    foldagerdk

    ScrubHunter
    Yes. I am Danish. :)

    And no; you should set your Projectile to not bounce, so I would assume it'd be something along the lines of "arr.setBounce(false)"
     
    ScrubHunter likes this.
Thread Status:
Not open for further replies.

Share This Page