Advertisement
kevinatoranator

fireArrow.java v.06

Jul 1st, 2012
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.85 KB | None | 0 0
  1. package me.kevinatoranator.AGTV;
  2.  
  3. import org.bukkit.EntityEffect;
  4. import org.bukkit.Location;
  5. import org.bukkit.Material;
  6. import org.bukkit.block.Block;
  7. import org.bukkit.entity.Arrow;
  8. import org.bukkit.entity.Entity;
  9. import org.bukkit.entity.EntityType;
  10. import org.bukkit.entity.Player;
  11. import org.bukkit.event.EventHandler;
  12. import org.bukkit.event.Listener;
  13. import org.bukkit.event.entity.ProjectileHitEvent;
  14. import org.bukkit.event.entity.ProjectileLaunchEvent;
  15. import org.bukkit.inventory.ItemStack;
  16.  
  17. public class fireArrow implements Listener {
  18.     AGTV plugin;
  19.     Boolean fireTrue = false;
  20.     Boolean splodeTrue = false;
  21.     ItemStack coal = new ItemStack(Material.COAL ,1);
  22.     ItemStack gunpowder = new ItemStack(Material.SULPHUR, 10);
  23.    
  24.     public fireArrow (AGTV instance){
  25.         plugin = instance;
  26.     }
  27.     @EventHandler
  28.     public void arrowShoot(ProjectileLaunchEvent event){
  29.             Entity proj = event.getEntity();
  30.             EntityType projType = event.getEntityType();
  31.             //Bukkit.getServer().broadcastMessage("Something was shot");
  32.             if(projType == EntityType.ARROW){
  33.                 //Bukkit.getServer().broadcastMessage(proj + " was shot.");
  34.                 Arrow shot = (Arrow) proj;
  35.                 if(shot.getShooter() instanceof Player){
  36.                     Player player = (Player) shot.getShooter();
  37.                     Material item = player.getInventory().getContents()[1].getType();
  38.                     int num = player.getInventory().getContents()[1].getAmount();
  39.                     //player.sendMessage(item + " is in your second item slot");
  40.                     if(item == Material.COAL && item != null){
  41.                         if(plugin.getConfig().getBoolean("enableFireArrows")==true){
  42.                             fireTrue=true;
  43.                             shot.setFireTicks(300);
  44.                             player.getInventory().getContents()[1].setAmount(num-1);
  45.                             if(num==1){
  46.                                 player.getInventory().removeItem(coal);
  47.                             }
  48.                         }
  49.                     }
  50.                     if(item == Material.SULPHUR && item != null && num>9){
  51.                         if(plugin.getConfig().getBoolean("enableBlackPowderArrows")==true){
  52.                             splodeTrue=true;
  53.                             shot.playEffect(EntityEffect.WOLF_SMOKE);
  54.                             player.getInventory().getContents()[1].setAmount(num-10);
  55.                             if(num==10){
  56.                                 player.getInventory().removeItem(gunpowder);
  57.                         }
  58.                     }
  59.                 }
  60.             }
  61.         }
  62.     }
  63.     @EventHandler
  64.     public void arrowImpact(ProjectileHitEvent event){
  65.         if(plugin.getConfig().getBoolean("enableFireArrows")==true){
  66.             Entity proj = event.getEntity();
  67.             EntityType projType = event.getEntityType();
  68.             //Bukkit.getServer().broadcastMessage("Houston, the projectile has landed");
  69.             if(projType == EntityType.ARROW){
  70.                 Location aloc=proj.getLocation();
  71.                 Block fblock = aloc.getBlock();
  72.                 if(fireTrue==true){
  73.                     //Bukkit.getServer().broadcastMessage("ARGH, an arrow to the knee");
  74.                     fblock.setType(Material.FIRE);
  75.                     fireTrue=false;
  76.                    
  77.                 }
  78.                 if(splodeTrue==true){
  79.                    
  80.                     aloc.getWorld().createExplosion(aloc, 2F);
  81.                     splodeTrue=false;
  82.                 }
  83.             }
  84.         }
  85.     }
  86. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement