示例#1
0
 @SuppressWarnings("deprecation")
 public void shoutingMessages() {
   x =
       Main.getServer()
           .getScheduler()
           .scheduleAsyncRepeatingTask(
               Main,
               new Runnable() {
                 public void run() {
                   Boss b;
                   for (int i = 0; i < Main.Bosses.size(); i++) {
                     b = Main.Bosses.get(i);
                     if (b.getSkeleton() != null) {
                       if (!b.getSkeleton().isDead()) {
                         Damageable skHealth = (Damageable) b.getSkeleton();
                         if (skHealth.getHealth() != 0 && !b.getSentences().isEmpty()) {
                           if (skHealth.getHealth() < b.getMaxHealth()) {
                             Random r = new Random();
                             int j = r.nextInt(5);
                             for (Entity en : b.getSkeleton().getNearbyEntities(30, 30, 30)) {
                               if (en instanceof Player)
                                 ((Player) en)
                                     .sendMessage(
                                         "§8[" + b.getName() + "§8] §f" + b.getSentences().get(j));
                             }
                           }
                         }
                       }
                     }
                   }
                 }
               },
               0,
               500L);
 }
示例#2
0
 public boolean pay(Player p) {
   if (!plugin.useVault) {
     return true;
   }
   Economy econ;
   RegisteredServiceProvider<Economy> rsp =
       plugin.getServer().getServicesManager().getRegistration(Economy.class);
   if (rsp == null) {
     return true; // No Vault found
   }
   econ = rsp.getProvider();
   if (econ == null) {
     return true; // No Vault found
   }
   int money = plugin.warpCreatePrice;
   if (money == 0) {
     return true;
   }
   if (!econ.has(p.getName(), money)) {
     p.sendMessage("You do not have enough money! You need " + econ.format(money) + "!");
     return false;
   }
   econ.withdrawPlayer(p.getName(), money);
   p.sendMessage("Withdrawing " + econ.format(money) + " from your account!");
   return true;
 }
示例#3
0
  @SuppressWarnings("deprecation")
  public void SmashAttack() {
    n =
        Main.getServer()
            .getScheduler()
            .scheduleAsyncRepeatingTask(
                Main,
                new Runnable() {
                  public void run() {
                    Boss b;
                    for (int i = 0; i < Main.Bosses.size(); i++) {
                      b = Main.Bosses.get(i);
                      if (b.getSkeleton() != null && b.getSmashAttack()) {
                        if (!b.getSkeleton().isDead()
                            && b.getStage() > 0
                            && b.getStage() >= b.getSmashAttackStage()) {
                          Damageable skHealth = (Damageable) b.getSkeleton();
                          if (skHealth.getHealth() != 0
                              && (skHealth.getHealth() < b.getMaxHealth())) {
                            ArrayList<String> aroundPlayers = new ArrayList<String>();
                            int r = b.getSmashAttackRadius();
                            for (Entity en : b.getSkeleton().getNearbyEntities(r, 10, r)) {
                              if (en instanceof Player) aroundPlayers.add(((Player) en).getName());
                            }
                            if (!aroundPlayers.isEmpty()) {
                              Collections.shuffle(aroundPlayers);

                              Player p = null;
                              OfflinePlayer op = Bukkit.getOfflinePlayer(aroundPlayers.get(0));
                              if (op.isOnline()) {
                                p = (Player) op;
                                double dX =
                                    p.getLocation().getX() - b.getSkeleton().getLocation().getX();
                                double dY =
                                    p.getLocation().getY() - b.getSkeleton().getLocation().getY();
                                double dZ =
                                    p.getLocation().getZ() - b.getSkeleton().getLocation().getZ();
                                double yaw = Math.atan2(dZ, dX);
                                double pitch =
                                    Math.atan2(Math.sqrt(dZ * dZ + dX * dX), dY) + Math.PI;
                                double X = Math.sin(pitch) * Math.cos(yaw) + 0.6;
                                double Y = Math.sin(pitch) * Math.sin(yaw) + 0.6;
                                double Z = Math.cos(pitch) + 0.6;

                                Vector vector = new Vector(X, Z, Y);
                                p.setVelocity(vector);
                                p.setFireTicks(120);
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                0,
                100L);
  }
示例#4
0
 public void mainTask() {
   int delay = plugin.getConfig().getInt("settings.task-delay (min)");
   plugin
       .getServer()
       .getScheduler()
       .scheduleAsyncRepeatingTask(
           plugin,
           new Runnable() {
             public void run() {
               MySQL mysql = TaskManager.this.mysql;
               mysql.openConnection();
               mysql.updatePlayers();
               mysql.stopConnection();
             }
           },
           delay * 1200,
           delay * 1200);
 }
示例#5
0
 @SuppressWarnings("deprecation")
 public void showHealthTimer() {
   z =
       Main.getServer()
           .getScheduler()
           .scheduleAsyncRepeatingTask(
               Main,
               new Runnable() {
                 public void run() {
                   Boss b;
                   for (int i = 0; i < Main.Bosses.size(); i++) {
                     b = Main.Bosses.get(i);
                     if (b.getSkeleton() != null) {
                       if (!b.getSkeleton().isDead()) {
                         Damageable skHealth = (Damageable) b.getSkeleton();
                         if (skHealth.getHealth() != 0) {
                           if (b.getStage() == 1)
                             b.getSkeleton()
                                 .setCustomName(b.getName() + " §a" + (int) skHealth.getHealth());
                           else if (b.getStage() == 2)
                             b.getSkeleton()
                                 .setCustomName(b.getName() + " §6" + (int) skHealth.getHealth());
                           else
                             b.getSkeleton()
                                 .setCustomName(b.getName() + " §c" + (int) skHealth.getHealth());
                           if (b.getSpider().getTarget() == null
                               && b.getSkeleton().getTarget() != null)
                             b.getSpider().setTarget(b.getSkeleton().getTarget());
                         }
                       }
                     }
                   }
                 }
               },
               0,
               10L);
 }
示例#6
0
 @SuppressWarnings("deprecation")
 public void lightningStrike() {
   l =
       Main.getServer()
           .getScheduler()
           .scheduleAsyncRepeatingTask(
               Main,
               new Runnable() {
                 public void run() {
                   Boss b;
                   for (int i = 0; i < Main.Bosses.size(); i++) {
                     b = Main.Bosses.get(i);
                     if (b.getSkeleton() != null && b.getLightningStrike()) {
                       if (!b.getSkeleton().isDead()
                           && b.getStage() > 0
                           && b.getStage() >= b.getLightningStrikeStage()) {
                         Damageable skHealth = (Damageable) b.getSkeleton();
                         if (skHealth.getHealth() != 0) {
                           if (skHealth.getHealth() < b.getMaxHealth()) {
                             int r = b.getLightningStrikeRadius();
                             for (Entity en : b.getSkeleton().getNearbyEntities(r, 10, r)) {
                               if (en instanceof Player)
                                 b.getSkeleton()
                                     .getWorld()
                                     .strikeLightning(((Player) en).getLocation());
                             }
                           }
                         }
                       }
                     }
                   }
                 }
               },
               0,
               80L);
 }
示例#7
0
 @SuppressWarnings("deprecation")
 public void witherEffect() {
   w =
       Main.getServer()
           .getScheduler()
           .scheduleAsyncRepeatingTask(
               Main,
               new Runnable() {
                 public void run() {
                   Boss b;
                   for (int i = 0; i < Main.Bosses.size(); i++) {
                     b = Main.Bosses.get(i);
                     if (b.getSkeleton() != null && b.getWitherEffect()) {
                       if (!b.getSkeleton().isDead()
                           && b.getStage() > 0
                           && b.getStage() >= b.getWitherEffectStage()) {
                         Damageable skHealth = (Damageable) b.getSkeleton();
                         if (skHealth.getHealth() != 0) {
                           if (skHealth.getHealth() < b.getMaxHealth()) {
                             int r = b.getWitherEffectRadius();
                             for (Entity en : b.getSkeleton().getNearbyEntities(r, 10, r)) {
                               if (en instanceof Player)
                                 ((Player) en)
                                     .addPotionEffect(
                                         new PotionEffect(PotionEffectType.WITHER, 60, 0));
                             }
                           }
                         }
                       }
                     }
                   }
                 }
               },
               0,
               20L);
 }
示例#8
0
 private void setup() {
   plugin.getServer().getPluginManager().registerEvents(this, plugin);
 }
示例#9
0
  public Weather(Main plugin) {

    plugin.getServer().getPluginManager().registerEvents(this, plugin);
  }
示例#10
0
  @SuppressWarnings("deprecation")
  public void spawnMinion() {
    m =
        Main.getServer()
            .getScheduler()
            .scheduleAsyncRepeatingTask(
                Main,
                new Runnable() {
                  public void run() {
                    Boss b;
                    for (int i = 0; i < Main.Bosses.size(); i++) {
                      b = Main.Bosses.get(i);
                      if (b.getSkeleton() != null && b.getSpawnSkelleton()) {
                        if (!b.getSkeleton().isDead()
                            && b.getStage() > 0
                            && b.getStage() >= b.getSpawnSkelletonStage()) {
                          Damageable skHealth = (Damageable) b.getSkeleton();
                          if (skHealth.getHealth() != 0) {
                            if (skHealth.getHealth() < b.getMaxHealth()) {
                              Random r = new Random();
                              int j;
                              int radius = b.getSpawnSkelletonRadius();
                              for (int k = 0; k < (r.nextInt(2) + 1); k++) {
                                Skeleton skM =
                                    (Skeleton)
                                        b.getSpawnLocation()
                                            .getWorld()
                                            .spawnCreature(
                                                b.getSkeleton()
                                                    .getLocation()
                                                    .add(
                                                        (Math.round(Math.random()) * 2 - 1)
                                                            * (r.nextInt(radius) + 1),
                                                        0,
                                                        (Math.round(Math.random()) * 2 - 1)
                                                            * (r.nextInt(radius) + 1)),
                                                EntityType.SKELETON);
                                skM.setCustomName("Skelly Minion");
                                skM.addPotionEffect(
                                    new PotionEffect(PotionEffectType.SPEED, 2147483647, 0));

                                j = r.nextInt(4) + 1;
                                if (j == 1)
                                  skM.getEquipment()
                                      .setHelmet(new ItemStack(Material.DIAMOND_HELMET));
                                if (j == 2)
                                  skM.getEquipment().setHelmet(new ItemStack(Material.IRON_HELMET));
                                if (j == 3)
                                  skM.getEquipment().setHelmet(new ItemStack(Material.GOLD_HELMET));
                                if (j == 4)
                                  skM.getEquipment()
                                      .setHelmet(new ItemStack(Material.CHAINMAIL_HELMET));

                                j = r.nextInt(4) + 1;
                                if (j == 1)
                                  skM.getEquipment()
                                      .setChestplate(new ItemStack(Material.DIAMOND_CHESTPLATE));
                                if (j == 2)
                                  skM.getEquipment()
                                      .setChestplate(new ItemStack(Material.IRON_CHESTPLATE));
                                if (j == 3)
                                  skM.getEquipment()
                                      .setChestplate(new ItemStack(Material.GOLD_CHESTPLATE));
                                if (j == 4)
                                  skM.getEquipment()
                                      .setChestplate(new ItemStack(Material.CHAINMAIL_CHESTPLATE));

                                j = r.nextInt(4) + 1;
                                if (j == 1)
                                  skM.getEquipment()
                                      .setLeggings(new ItemStack(Material.DIAMOND_LEGGINGS));
                                if (j == 2)
                                  skM.getEquipment()
                                      .setLeggings(new ItemStack(Material.IRON_LEGGINGS));
                                if (j == 3)
                                  skM.getEquipment()
                                      .setLeggings(new ItemStack(Material.GOLD_LEGGINGS));
                                if (j == 4)
                                  skM.getEquipment()
                                      .setLeggings(new ItemStack(Material.CHAINMAIL_LEGGINGS));

                                j = r.nextInt(4) + 1;
                                if (j == 1)
                                  skM.getEquipment()
                                      .setBoots(new ItemStack(Material.DIAMOND_BOOTS));
                                if (j == 2)
                                  skM.getEquipment().setBoots(new ItemStack(Material.IRON_BOOTS));
                                if (j == 3)
                                  skM.getEquipment().setBoots(new ItemStack(Material.GOLD_BOOTS));
                                if (j == 4)
                                  skM.getEquipment()
                                      .setBoots(new ItemStack(Material.CHAINMAIL_BOOTS));

                                int r2 = (int) (Math.round(Math.random()) * 2 - 1);
                                if (r2 > 0)
                                  skM.getEquipment()
                                      .setItemInHand(new ItemStack(Material.IRON_SWORD));

                                skM.getEquipment().setHelmetDropChance(0);
                                skM.getEquipment().setChestplateDropChance(0);
                                skM.getEquipment().setLeggingsDropChance(0);
                                skM.getEquipment().setBootsDropChance(0);

                                skM.getWorld().createExplosion(skM.getLocation().add(0, 2, 0), 1);
                              }
                            }
                          }
                        }
                      }
                    }
                  }
                },
                0,
                110L);
  }