Advertisement
bossomeness

MagicItems Main Class

Dec 25th, 2013
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.60 KB | None | 0 0
  1. package us.bossrealms.magic;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.List;
  5.  
  6. import org.bukkit.ChatColor;
  7. import org.bukkit.Material;
  8. import org.bukkit.entity.Player;
  9. import org.bukkit.event.EventHandler;
  10. import org.bukkit.event.Listener;
  11. import org.bukkit.event.block.Action;
  12. import org.bukkit.event.player.PlayerInteractEvent;
  13. import org.bukkit.inventory.ItemStack;
  14. import org.bukkit.inventory.ShapedRecipe;
  15. import org.bukkit.inventory.meta.ItemMeta;
  16. import org.bukkit.plugin.java.JavaPlugin;
  17.  
  18. import us.bossrealms.magic.projectiles.event.CustomProjectileHitEvent;
  19. import us.bossrealms.magic.projectiles.projectile.ItemProjectile;
  20.  
  21. public class MagicItems extends JavaPlugin implements Listener {
  22.  
  23.     @Override
  24.     public void onEnable() {
  25.         getServer().getPluginManager().registerEvents(this, this);
  26.         addRecipes();
  27.     }
  28.  
  29.     @Override
  30.     public void onDisable() {
  31.         getServer().clearRecipes();
  32.     }
  33.  
  34.     public void addRecipes() {
  35.         // /////////////////
  36.         //   Smoke Bomb   //
  37.         // /////////////////
  38.         ShapedRecipe sb = new ShapedRecipe(smokeBomb());
  39.         sb.shape(" G ", "GFG", " G ");
  40.         sb.setIngredient('G', Material.SULPHUR);
  41.         sb.setIngredient('F', Material.FIREWORK_CHARGE);
  42.         getServer().addRecipe(sb);
  43.     }
  44.  
  45.     public ItemStack smokeBomb() {
  46.         ItemStack sbI = new ItemStack(Material.SULPHUR, 1);
  47.         ItemMeta sbM = sbI.getItemMeta();
  48.         sbM.setDisplayName(ChatColor.YELLOW + "Smoke Bomb");
  49.         List<String> sbL = new ArrayList<String>();
  50.         sbL.add(ChatColor.BLUE + "Blind your enemies in a cloud of smoke.");
  51.         sbM.setLore(sbL);
  52.         sbI.setItemMeta(sbM);
  53.         return sbI;
  54.     }
  55.  
  56.     public void onThrow(PlayerInteractEvent e) {
  57.         Player player = e.getPlayer();
  58.         //PlayerInventory pi = player.getInventory();
  59.         ItemProjectile projectile = new ItemProjectile("Smoke Bomb", player.getLocation(), smokeBomb(), e.getPlayer(), 5);
  60.         if (e.getAction() == Action.RIGHT_CLICK_AIR
  61.                 || e.getAction() == Action.RIGHT_CLICK_BLOCK) {
  62.             shoot(projectile);
  63.         }
  64.     }
  65.    
  66.     private void shoot(ItemProjectile projectile) {
  67.         Player player = (Player) ((CustomProjectileHitEvent) getServer()).getProjectile().getShooter();
  68.         projectile = new ItemProjectile("Smoke Bomb", player.getLocation(), smokeBomb(), player, 5);
  69.     }
  70.  
  71.     @EventHandler
  72.     public void onHit(CustomProjectileHitEvent e){
  73.         Player player = (Player) e.getProjectile().getShooter();
  74.         ItemProjectile projectile = new ItemProjectile("Smoke Bomb", player.getLocation(), smokeBomb(), player, 5);
  75.         if (e.getProjectile().equals(projectile)){
  76.             e.getHitEntity().damage(3D, e.getProjectile().getShooter());
  77.            
  78.         }
  79.     }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement