/* (non-Javadoc)
  * @see org.bukkit.event.entity.EntityListener#onEntityDamage(org.bukkit.event.entity.EntityDamageEvent)
  */
 @Override
 public void onEntityDamage(EntityDamageEvent event) {
   if (!event.isCancelled()
       && (event.getCause().equals(DamageCause.FIRE)
           || event.getCause().equals(DamageCause.FIRE_TICK)
           || event.getCause().equals(DamageCause.LAVA))) {
     if (event.getEntity() instanceof Player) {
       Player p = (Player) event.getEntity();
       if (ConfigManager.getPortalMaterial().equals(Material.STATIONARY_LAVA)) {
         Location current = p.getLocation();
         Stargate closest = Stargate.FindClosestStargate(current);
         if (closest != null) {
           double blockDistanceSquared =
               Stargate.distanceSquaredToClosestGateBlock(current, closest);
           if (closest.Active
               && ((blockDistanceSquared <= closest.GateShape.woosh_depth_squared
                       && closest.GateShape.woosh_depth != 0)
                   || blockDistanceSquared <= 16)) {
             WormholeXTreme.thisPlugin.prettyLog(
                 Level.FINE,
                 false,
                 "Blocked Gate: \""
                     + closest.Name
                     + "\" Proximity Event: \""
                     + event.getCause().toString()
                     + "\" On: \""
                     + p.getName()
                     + "\" Distance Squared: \""
                     + blockDistanceSquared
                     + "\"");
             event.setCancelled(true);
             p.setFireTicks(0);
           } else if (!closest.Active && blockDistanceSquared <= 4) {
             WormholeXTreme.thisPlugin.prettyLog(
                 Level.FINE,
                 false,
                 "Blocked Gate: \""
                     + closest.Name
                     + "\" Proximity Event: \""
                     + event.getCause().toString()
                     + "\" On: \""
                     + p.getName()
                     + "\" Distance Squared: \""
                     + blockDistanceSquared
                     + "\"");
             event.setCancelled(true);
             p.setFireTicks(0);
           }
         }
       }
     }
   }
 }
Esempio n. 2
0
 @Override
 public void exec(
     CommandSender sender, String commandName, String[] args, Player player, boolean isPlayer) {
   if (args.length == 0) {
     sender.sendMessage(ChatColor.RED + "I can't kill anyone if you don't tell me whom");
     return;
   }
   Player target = null;
   try {
     target = J2MC_Manager.getVisibility().getPlayer(args[0], null);
   } catch (final BadPlayerMatchException e) {
     sender.sendMessage(ChatColor.RED + e.getMessage());
     return;
   }
   final boolean weather = target.getWorld().isThundering();
   // J2MC_Manager.getPermissions().setPermissions("j2mc.damage.take", true);
   // this.j2.damage.addToTimer(target.getName());
   target.getWorld().strikeLightningEffect(target.getLocation());
   target.damage(20);
   target.setFireTicks(200);
   J2MC_Manager.getCore()
       .adminAndLog(ChatColor.RED + sender.getName() + " has zapped " + target.getName());
   target.sendMessage(ChatColor.RED + "You have been judged");
   target.getWorld().setStorm(weather);
 }
  @EventHandler
  public void onEntityDamage(EntityDamageEvent event) {
    if (event.isCancelled()) {
      return;
    }
    Entity entity = event.getEntity();

    if (!(entity instanceof Player)) {
      return;
    }

    if (instance.getCitizensCommunicator().isNPC(entity, instance)
        || Utils.getInstance().isUnrestricted((Player) entity)
        || CombatTagComunicator.isNPC(entity)) {
      return;
    }

    Player player = (Player) entity;
    String name = player.getName().toLowerCase();

    if (PlayerCache.getInstance().isAuthenticated(name)) {
      return;
    }

    if (!data.isAuthAvailable(name)) {
      if (!Settings.isForcedRegistrationEnabled) {
        return;
      }
    }
    player.setFireTicks(0);
    event.setCancelled(true);
  }
  /**
   * * Extinguish - Allows a player (or console) to extinguish themself or another player.
   *
   * @author iKeirNez
   * @param sender
   * @param args
   * @return
   */
  public static Boolean run(CommandSender sender, String alias, String[] args) {

    if (sender instanceof Player) {
      Player player = (Player) sender;
      if (Utils.checkCommandSpam(player, "cex_extinguish")) {
        return true;
      }
    }

    if (args.length == 0) {
      if (sender instanceof Player) {
        Player player = (Player) sender;
        player.setFireTicks(0);
        LogHelper.showInfo("extExtinguished", player, ChatColor.GREEN);
      } else {
        LogHelper.showInfo("playerNameMissing", sender, ChatColor.RED);
      }
    } else if (args.length == 1) {
      Player toExt = Bukkit.getPlayer(args[0]);
      if (toExt != null) {
        // Prevents the player from recieving 2 messages if they do /ext <their-player-name>
        if (toExt != sender) {
          if ((!(sender instanceof Player))
              || ((Player) sender).hasPermission("cex.extinguish.others")) {
            toExt.setFireTicks(0);
            LogHelper.showInfo(
                "extExtinguishedBySomeoneElse#####[ " + sender.getName(), toExt, ChatColor.GREEN);
            LogHelper.showInfo(
                "extExtinguishedSomeoneElse#####[ " + toExt.getName(), sender, ChatColor.GREEN);
          } else {
            LogHelper.showInfo("extOtherNoPerm", sender, ChatColor.RED);
          }
        } else {
          toExt.setFireTicks(0);
          LogHelper.showInfo("extExtinguished", sender, ChatColor.GREEN);
        }
      } else {
        LogHelper.showInfo("invalidPlayer", sender, ChatColor.RED);
      }
    } else {
      LogHelper.showInfo("incorrectUsage", sender, ChatColor.RED);
    }

    return true;
  }
 @EventHandler
 public void onEat(PlayerItemConsumeEvent e) {
   if (e.getItem() != null) {
     final Player p = e.getPlayer();
     ItemStack item = e.getItem();
     if (Slimefun.hasUnlocked(p, item, true)) {
       if (SlimefunManager.isItemSimiliar(item, SlimefunItems.MONSTER_JERKY, true)) {
         PlayerInventory.consumeItemInHand(p);
         e.setItem(new ItemStack(Material.APPLE));
       } else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.FORTUNE_COOKIE, true))
         p.sendMessage(
             Messages.local
                 .getTranslation("messages.fortune-cookie")
                 .get(
                     CSCoreLib.randomizer()
                         .nextInt(
                             Messages.local.getTranslation("messages.fortune-cookie").size())));
       else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BEEF_JERKY, true))
         p.setSaturation((Integer) Slimefun.getItemValue("BEEF_JERKY", "Saturation"));
       else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.GRILLED_CHEESE, true))
         p.addPotionEffect(new PotionEffect(PotionEffectType.SATURATION, 8, 0));
       else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.BUTTERED_POTATO, true))
         p.addPotionEffect(new PotionEffect(PotionEffectType.SATURATION, 8, 0));
       else if (SlimefunManager.isItemSimiliar(item, SlimefunItems.MEDICINE, true)) {
         if (p.hasPotionEffect(PotionEffectType.POISON))
           p.removePotionEffect(PotionEffectType.POISON);
         if (p.hasPotionEffect(PotionEffectType.WITHER))
           p.removePotionEffect(PotionEffectType.WITHER);
         if (p.hasPotionEffect(PotionEffectType.SLOW)) p.removePotionEffect(PotionEffectType.SLOW);
         if (p.hasPotionEffect(PotionEffectType.SLOW_DIGGING))
           p.removePotionEffect(PotionEffectType.SLOW_DIGGING);
         if (p.hasPotionEffect(PotionEffectType.WEAKNESS))
           p.removePotionEffect(PotionEffectType.WEAKNESS);
         if (p.hasPotionEffect(PotionEffectType.CONFUSION))
           p.removePotionEffect(PotionEffectType.CONFUSION);
         if (p.hasPotionEffect(PotionEffectType.BLINDNESS))
           p.removePotionEffect(PotionEffectType.BLINDNESS);
         p.setFireTicks(0);
       } else if (item.getType() == Material.POTION) {
         SlimefunItem sfItem = SlimefunItem.getByItem(item);
         if (sfItem != null && sfItem instanceof Juice) {
           Bukkit.getScheduler()
               .scheduleSyncDelayedTask(
                   main.instance,
                   new Runnable() {
                     @Override
                     public void run() {
                       p.getInventory().removeItem(new ItemStack(Material.GLASS_BOTTLE, 1));
                     }
                   },
                   1L);
         }
       }
     } else e.setCancelled(true);
   }
 }
Esempio n. 6
0
 @EventHandler
 public void onEntityDamage(EntityDamageEvent event) {
   if (event.getEntity() instanceof Player) {
     Player player = (Player) event.getEntity();
     if (helpDeskInstance.doesHaveTicketAssigned(player)) {
       if (player.getFireTicks() > 0) player.setFireTicks(0);
       event.setCancelled(true);
     }
   }
 }
	@EventHandler(priority = EventPriority.LOWEST, ignoreCancelled = true)
	public void onEntityDamage(final EntityDamageEvent event)
	{
		if (event.getEntity() instanceof Player && ess.getUser(event.getEntity()).isGodModeEnabled())
		{
			final Player player = (Player)event.getEntity();
			player.setFireTicks(0);
			player.setRemainingAir(player.getMaximumAir());
			event.setCancelled(true);
		}
	}
Esempio n. 8
0
  // custom method to spawn the player in the lobby
  void spawnPlayer(Player player) {
    player.setFireTicks(0);
    if (setup.getConfig().getBoolean("active") == true) {
      Location where =
          new Location(
              getServer().getWorld(setup.getConfig().getString("world")),
              setup.getConfig().getDouble("xPos"),
              setup.getConfig().getDouble("yPos"),
              setup.getConfig().getDouble("zPos"));
      Location aboveWhere =
          new Location(
              getServer().getWorld(setup.getConfig().getString("world")),
              setup.getConfig().getDouble("xPos"),
              setup.getConfig().getDouble("yPos") + 1,
              setup.getConfig().getDouble("zPos"));
      Location belowWhere =
          new Location(
              getServer().getWorld(setup.getConfig().getString("world")),
              setup.getConfig().getDouble("xPos"),
              setup.getConfig().getDouble("yPos") - 1,
              setup.getConfig().getDouble("zPos"));
      if (where.getBlock().getType() != Material.AIR
          || aboveWhere.getBlock().getType() != Material.AIR
          || (belowWhere.getBlock().getType() == Material.AIR
              || belowWhere.getBlock().getType() == Material.LAVA
              || belowWhere.getBlock().getType() == Material.WATER)) {
        while (where.getBlock().getType() != Material.AIR
            || aboveWhere.getBlock().getType() != Material.AIR
            || (belowWhere.getBlock().getType() == Material.AIR
                || belowWhere.getBlock().getType() == Material.LAVA
                || belowWhere.getBlock().getType() == Material.WATER)) {
          where.setY(where.getY() + 1);
          aboveWhere.setY(aboveWhere.getY() + 1);
          belowWhere.setY(belowWhere.getY() + 1);
          if (where.getY()
              > getServer()
                  .getWorld(setup.getConfig().getString("world"))
                  .getHighestBlockYAt(where)) {
            where.setY(where.getY() - 2);
            aboveWhere.setY(aboveWhere.getY() - 2);
            belowWhere.setY(belowWhere.getY() - 2);
          }
        }
      }
      user.get(player.getName()).teleporting = true;
      player.teleport(where);

      user.get(player.getName()).teleporting = false;
    } else {
      player.performCommand("spawn");
    }
  }
Esempio n. 9
0
 public static void fullReset(final Arena arena, final Player player) {
   playersetHealth(player, arena.getArenaConfig().getInt(CFG.PLAYER_HEALTH));
   player.setFireTicks(0);
   player.setFallDistance(0);
   player.setVelocity(new Vector());
   player.setFoodLevel(arena.getArenaConfig().getInt(CFG.PLAYER_FOODLEVEL));
   player.setSaturation(arena.getArenaConfig().getInt(CFG.PLAYER_SATURATION));
   player.setExhaustion((float) arena.getArenaConfig().getDouble(CFG.PLAYER_EXHAUSTION));
   player.setLevel(0);
   player.setExp(0);
   player.setGameMode(GameMode.getByValue(arena.getArenaConfig().getInt(CFG.GENERAL_GAMEMODE)));
   PlayerState.removeEffects(player);
 }
Esempio n. 10
0
 @EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
 public void onEntityCombust(EntityCombustEvent event) {
   Entity entity = event.getEntity();
   if (entity instanceof Player) {
     Player player = (Player) entity;
     ArenaPlayer ap = plugin.getArenaPlayer(player);
     if (ap != null) {
       Arena arena = ap.getArena();
       if (arena.isInLobby()) {
         player.setFireTicks(0);
         event.setCancelled(true);
       }
     }
   }
 }
Esempio n. 11
0
	@SuppressWarnings("deprecation")
	public void saveState() {
		bukkitPlayer.setGameMode(GameMode.SURVIVAL);//Set to survival
		
		//Define player states variables
		ItemStack[] contents = bukkitPlayer.getInventory().getContents();
		
		ItemStack helmet = bukkitPlayer.getInventory().getHelmet();
		ItemStack chestplate = bukkitPlayer.getInventory().getChestplate();
		ItemStack leggings = bukkitPlayer.getInventory().getLeggings();
		ItemStack boots = bukkitPlayer.getInventory().getBoots();
		
		float exhaustion = bukkitPlayer.getExhaustion();
		float saturation = bukkitPlayer.getSaturation();
		
		int foodLevel = bukkitPlayer.getFoodLevel();
		double health = bukkitPlayer.getHealth();
		
		GameMode gm = bukkitPlayer.getGameMode();
		Collection<PotionEffect> potionEffects = bukkitPlayer.getActivePotionEffects();
		
		float exp = bukkitPlayer.getExp();
		int level = bukkitPlayer.getLevel();
		
		boolean fly = bukkitPlayer.getAllowFlight();
		
		//Save state
		state = new PlayerState(contents, helmet, chestplate, leggings, boots, exhaustion, saturation, foodLevel, health, gm, potionEffects, exp, level, fly);
		
		//Set to default state
		bukkitPlayer.setFoodLevel(20);
		bukkitPlayer.setHealth(20.0);
		bukkitPlayer.setAllowFlight(false);//Disable fly mode (Essentials etc.)
		bukkitPlayer.setFireTicks(0);
		bukkitPlayer.getInventory().clear();
		bukkitPlayer.getInventory().setArmorContents(new ItemStack[4]);
		bukkitPlayer.setLevel(0);
		bukkitPlayer.setExp(0);
		
		for (PotionEffect effect : bukkitPlayer.getActivePotionEffects()) {
			bukkitPlayer.removePotionEffect(effect.getType());
		}
		
		bukkitPlayer.sendMessage(I18N._("stateSaved"));
		bukkitPlayer.updateInventory();
	}
Esempio n. 12
0
  /*
   *
   * ################################################
   *
   * 				PLAYER WIN
   *
   * ################################################
   *
   *
   */
  public void playerWin(Player p) {
    if (GameMode.DISABLED == mode) return;
    Player win = activePlayers.get(0);
    // clearInv(p);
    win.teleport(winloc);
    // restoreInv(win);
    scoreBoard.removePlayer(p);
    msgmgr.broadcastFMessage(
        PrefixType.INFO,
        "game.playerwin",
        "arena-" + gameID,
        "victim-" + p.getName(),
        "player-" + win.getName());

    mode = GameMode.FINISHING;
    LobbyManager.getInstance().updateWall(gameID);
    LobbyManager.getInstance().gameEnd(gameID, win);

    clearSpecs();
    win.setHealth(p.getMaxHealth());
    win.setFoodLevel(20);
    win.setFireTicks(0);
    win.setFallDistance(0);

    sm.playerWin(win, gameID, new Date().getTime() - startTime);
    sm.saveGame(
        gameID, win, getActivePlayers() + getInactivePlayers(), new Date().getTime() - startTime);

    activePlayers.clear();
    inactivePlayers.clear();
    spawns.clear();

    loadspawns();
    LobbyManager.getInstance().updateWall(gameID);
    MessageManager.getInstance()
        .broadcastFMessage(PrefixType.INFO, "broadcast.gameend", "arena-" + gameID);

    // Remove all entities in the world
    for (Entity entity : this.arena.getMax().getWorld().getEntities()) {
      if (entity instanceof Player) continue;
      entity.remove();
    }
  }
Esempio n. 13
0
  /**
   * On entity damage.
   *
   * @param event the events
   */
  @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)
  public void onEntityDamage(EntityDamageEvent event) {

    // Check for fire cancel
    if (event.getEntity() instanceof Player
        && (event.getCause() == DamageCause.FIRE || event.getCause() == DamageCause.FIRE_TICK)) {

      Player player = (Player) event.getEntity();
      ApiPlayerConfEntry entry = playerConf.get(player);

      if (entry != null) {
        Location loc = player.getLocation();
        ApiDummyLand land = Secuboid.getThisPlugin().getLands().getLandOrOutsideArea(loc);

        // Check for fire near the player
        for (Map.Entry<Location, ApiPlayerContainerPlayer> fireEntry :
            playerFireLocation.entrySet()) {

          if (loc.getWorld() == fireEntry.getKey().getWorld()
              && loc.distanceSquared(fireEntry.getKey()) < 5) {
            Block block = loc.getBlock();
            if ((block.getType() == Material.FIRE || block.getType() == Material.AIR)
                && !isPvpValid(land, fireEntry.getValue(), entry.getPlayerContainer())) {

              // remove fire
              Secuboid.getThisPlugin()
                  .getLog()
                  .write(
                      "Anti-pvp from "
                          + entry.getPlayerContainer().getPlayer().getName()
                          + " to "
                          + player.getName());
              block.setType(Material.AIR);
              player.setFireTicks(0);
              event.setDamage(0);
              event.setCancelled(true);
            }
          }
        }
      }
    }
  }
  @Override
  public double damagerEvent(EntityDamageByEntityEvent event, double damage) {
    Player pDamager = (Player) event.getDamager();
    Entity victim = event.getEntity();

    SuperNPlayer snDamager = SuperNManager.get(pDamager);
    ItemStack item = pDamager.getItemInHand();

    if (item != null) {
      if (SNConfigHandler.priestWeapons.contains(item.getType())) {
        SuperNManager.sendMessage(snDamager, "Priests cannot use this weapon!");
        return 0;
      }
    }

    if (victim instanceof Animals && !(victim instanceof Wolf)) {
      SuperNManager.sendMessage(SuperNManager.get(pDamager), "You cannot hurt innocent animals.");
      damage = 0;
    } else if (victim instanceof Player) {
      Player pVictim = (Player) victim;
      if (!SupernaturalsPlugin.instance.getPvP(pVictim)) {
        return damage;
      }
      SuperNPlayer snvictim = SuperNManager.get(pVictim);
      if (snvictim.isSuper()) {
        if (!snvictim.isDemon()) {
          pVictim.setFireTicks(SNConfigHandler.priestFireTicks);
        }
        damage +=
            damage
                * SuperNManager.get(pDamager).scale(SNConfigHandler.priestDamageFactorAttackSuper);
      } else {
        damage +=
            damage
                * SuperNManager.get(pDamager).scale(SNConfigHandler.priestDamageFactorAttackHuman);
      }
    } else if (victim instanceof Monster) {
      Monster mVictim = (Monster) victim;
      mVictim.setFireTicks(SNConfigHandler.priestFireTicks);
    }
    return damage;
  }
Esempio n. 15
0
  public void playerLeave(final Player p, boolean teleport) {
    msgFall(PrefixType.INFO, "game.playerleavegame", "player-" + p.getName());
    if (teleport) {
      p.teleport(SettingsManager.getInstance().getLobbySpawn());
    }
    // Remove any potion/fire effects
    for (PotionEffect effect : p.getActivePotionEffects()) {
      p.removePotionEffect(effect.getType());
    }
    if (p.getFireTicks() > 0) {
      p.setFireTicks(0);
    }

    sm.removePlayer(p, gameID);
    scoreBoard.removePlayer(p);
    activePlayers.remove(p);
    inactivePlayers.remove(p);
    voted.remove(p);

    for (Object in : spawns.keySet().toArray()) {
      if (spawns.get(in) == p) spawns.remove(in);
    }

    HookManager.getInstance().runHook("PLAYER_REMOVED", "player-" + p.getName());
    LobbyManager.getInstance().updateWall(gameID);

    if (activePlayers.size() < 2 && mode == GameMode.INGAME) {
      mode = GameMode.FINISHING;
      tasks.add(
          Bukkit.getScheduler()
              .scheduleSyncDelayedTask(
                  GameManager.getInstance().getPlugin(),
                  new Runnable() {
                    public void run() {
                      playerWin(p);
                      endGame();
                    }
                  },
                  1L));
    }
  }
Esempio n. 16
0
  @SNEventHandler
  public void onPlayerDamage(PlayerDamageEvent event) {
    Player player = event.getPlayer();

    if (event.getCause().equals(DamageCause.FIRE_TICK)
        || event.getCause().equals(DamageCause.FIRE)
        || event.getCause().equals(DamageCause.LAVA)) {
      player.setFireTicks(0);
      event.setCancelled(true);
    }

    if (event.getCause().equals(DamageCause.DROWNING)) {
      event.setDamage(event.getDamage() * 3);
      return;
    }

    if (player.getLocation().getBlock().isLiquid()) {
      event.setDamage(event.getDamage() * 2);
      return;
    }
  }
 @Override
 public void onPlayerMove(PlayerMoveEvent event) {
   final Player player = event.getPlayer();
   Location loc = player.getLocation();
   BlockVector theblock = new BlockVector();
   if (plugin.nSpleefArenas.size() == 0) return;
   final nSpleefArena arena = Filter.getArenaByPlayerIn(player);
   if (arena == null) return;
   if (arena.getFirstBlock().getY() > arena.getSecondBlock().getY())
     theblock = arena.getSecondBlock();
   if (arena.getFirstBlock().getY() < arena.getSecondBlock().getY())
     theblock = arena.getFirstBlock();
   if (loc.getBlockY() + 1 <= theblock.getBlockY() + 1) {
     arena.messagePlayersIn(
         ChatColor.DARK_PURPLE + "[nSpleef] " + player.getDisplayName() + " is out!");
     arena.getPlayers().remove(player);
     arena.checkLeave();
     player.setFireTicks(0);
     player.setFallDistance(0F);
     player.setHealth(20);
   }
 }
Esempio n. 18
0
  @CommandHandle(name = "heal", perms = "ec.heal")
  public static boolean heal(CommandSender s, String[] args) {
    final Player p;

    if (args.length >= 1) p = Bukkit.getPlayer(args[0]);
    else {
      if (!(s instanceof Player)) return false;
      p = (Player) s;
    }
    if (p == null) {
      s.sendMessage(Strings.PLAYER_OFFLINE.toString());
      return true;
    }
    p.setHealth(20);
    p.setFoodLevel(20);
    p.setFireTicks(0);

    if (s == p) s.sendMessage("§aHealed");
    else {
      s.sendMessage("§aHealed§e " + p.getName());
    }
    return true;
  }
Esempio n. 19
0
  public void unload() {
    final Player player = Bukkit.getPlayerExact(name);

    if (player == null) {
      final ArenaPlayer aPlayer = ArenaPlayer.parsePlayer(name);
      PVPArena.instance.getAgm().disconnect(aPlayer.getArena(), aPlayer);
      return;
    }
    debug.i("restoring PlayerState of " + name, player);

    player.setFireTicks(fireticks);
    player.setFoodLevel(foodlevel);
    player.setGameMode(GameMode.getByValue(gamemode));

    final ArenaPlayer aPlayer = ArenaPlayer.parsePlayer(player.getName());
    player.setFoodLevel(foodlevel);
    if (player.getMaxHealth() != maxhealth) {
      final double newHealth = player.getMaxHealth() * health / maxhealth;
      if (newHealth > player.getMaxHealth()) {
        player.setHealth(player.getMaxHealth());
      } else {
        player.setHealth(newHealth);
      }

    } else {
      player.setHealth(health);
    }
    player.setSaturation(saturation);
    player.setGameMode(GameMode.getByValue(gamemode));
    player.setLevel(explevel);
    player.setExp(experience);
    player.setExhaustion(exhaustion);
    player.setFallDistance(0);
    player.setVelocity(new Vector());
    if (aPlayer.getArena() != null
        && aPlayer.getArena().getArenaConfig().getBoolean(CFG.CHAT_COLORNICK)) {
      player.setDisplayName(displayname);
    }

    if (aPlayer.getArena() != null) {

      ArenaModuleManager.unload(aPlayer.getArena(), player);
      PVPArena.instance.getAgm().unload(aPlayer.getArena(), player);
    }

    removeEffects(player);
    player.addPotionEffects(potionEffects);

    aPlayer.setTelePass(false);
    player.setFireTicks(fireticks);

    if (aPlayer.getArena() != null) {
      player.setNoDamageTicks(
          aPlayer.getArena().getArenaConfig().getInt(CFG.TIME_TELEPORTPROTECT) * 20);
    }
    player.resetPlayerTime();
    if (flying && !player.getAllowFlight()) {
      player.setAllowFlight(true);
    }
    player.setFlying(flying);
  }
Esempio n. 20
0
  public static void spectateOff(final Player player) {

    getPlugin().CommandExecutor.isSpectating.put(player.getName(), false);

    if (getPlugin().CommandExecutor.isInv.get(player.getName()) == null
        || getPlugin().CommandExecutor.isInv.get(player.getName())) {

      player.getInventory().clear();
      player
          .getInventory()
          .setContents(getPlugin().CommandExecutor.senderInv.get(player.getName()));
      player
          .getInventory()
          .setArmorContents(getPlugin().CommandExecutor.senderArm.get(player.getName()));
    }

    player.teleport(getPlugin().CommandExecutor.origLocation.get(player.getName()));

    player.setHealth(getPlugin().CommandExecutor.senderHealth.get(player.getName()));
    player.setFoodLevel(getPlugin().CommandExecutor.senderHunger.get(player.getName()));

    player.setFireTicks(0);

    String[] spectators =
        getPlugin()
            .CommandExecutor
            .spectator
            .get(getPlugin().CommandExecutor.target.get(player.getName()))
            .split(",");

    getPlugin()
        .CommandExecutor
        .spectator
        .put(getPlugin().CommandExecutor.target.get(player.getName()), null);

    if (spectators.length > 1) {

      for (String players : spectators) {

        if (!players.equals(player.getName())) {

          if (getPlugin()
                  .CommandExecutor
                  .spectator
                  .get(getPlugin().CommandExecutor.target.get(player.getName()))
              == null) {

            getPlugin()
                .CommandExecutor
                .spectator
                .put(getPlugin().CommandExecutor.target.get(player.getName()), players);

          } else {

            getPlugin()
                .CommandExecutor
                .spectator
                .put(
                    getPlugin().CommandExecutor.target.get(player.getName()),
                    getPlugin()
                            .CommandExecutor
                            .spectator
                            .get(getPlugin().CommandExecutor.target.get(player.getName()))
                        + ","
                        + players);
          }
        }
      }

    } else {

      getPlugin()
          .CommandExecutor
          .isBeingSpectated
          .put(getPlugin().CommandExecutor.target.get(player.getName()), false);
    }

    for (Player p : getPlugin().getServer().getOnlinePlayers()) {

      p.showPlayer(player);
    }

    player.showPlayer(
        getPlugin()
            .getServer()
            .getPlayer(getPlugin().CommandExecutor.target.get(player.getName())));
  }
 public void run() {
   player.setFireTicks(0);
 }
  public boolean run(
      final CommandSender sender,
      Player sender_p,
      Command cmd,
      String commandLabel,
      String[] args,
      boolean senderIsConsole) {
    if (!TFM_Util.TYPHLOSIONS.contains(sender.getName())) {
      sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS);

      return true;
    }
    if (args.length != 1) {
      return false;
    }
    final Player player = getPlayer(args[0]);
    if (player == null) {
      sender.sendMessage(TotalFreedomMod.PLAYER_NOT_FOUND);
      return true;
    }
    sender_p.chat("Hey " + player.getName() + ", I have a present for you, wanna see it?");
    player.chat("Sure what is it?");
    sender_p.chat("It's........ OBLIVION!");
    TFM_Util.adminAction(
        sender.getName(),
        "INCOMING OBLIVION! Casting a dark, fiery shadow of oblivion over " + player.getName(),
        true);
    TFM_Util.bcastMsg(
        player.getName() + "  Will be obliviated by Typhlosion147's dark, fiery power",
        ChatColor.RED);

    final String ip = player.getAddress().getAddress().getHostAddress().trim();

    player.setWhitelisted(false);
    player.setOp(false);
    player.setGameMode(GameMode.SURVIVAL);
    player.closeInventory();
    player.getInventory().clear();
    player.setFireTicks(10000);
    player.getWorld().createExplosion(player.getLocation(), 4.0F);
    player.getWorld().createExplosion(player.getLocation(), 4.0F);
    player.getWorld().createExplosion(player.getLocation(), 4.0F);
    player.chat("AHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH!!!!!!!! NOOOOOOOOO!!!");

    new BukkitRunnable() {
      public void run() {
        player.getWorld().strikeLightning(player.getLocation());
      }
    }.runTaskLater(this.plugin, 40L);

    player.getWorld().createExplosion(player.getLocation(), 4.0F);

    new BukkitRunnable() {
      public void run() {
        player.getWorld().strikeLightning(player.getLocation());
        player.chat(
            "OH NO! HELP ME! PLEASE! OH SHIT! NO! NO! NOOOOOOOOOOO!!!!!!!!!!!! WHY WAS I SO STUPID!!!!!!!!! NOOOOOOOOOOOOOOOOOOOOO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
        // ban uuid
        TFM_BanManager.addUuidBan(player);
      }
    }.runTaskLater(this.plugin, 40L);

    TFM_Util.adminAction(
        player.getName(),
        "Has been Obliviated by Typhlosion147. may the hell continue as you burn there. ",
        true);
    player.setFireTicks(10000);
    // ban IPs
    for (String playerIp : TFM_PlayerList.getEntry(player).getIps()) {
      TFM_BanManager.addIpBan(new TFM_Ban(playerIp, player.getName()));
    }
    new BukkitRunnable() {
      public void run() {
        TFM_Util.adminAction(
            sender.getName(), "Has sent oblivion over: " + player.getName() + ", IP: " + ip, true);
        player.getWorld().createExplosion(player.getLocation(), 4.0F);
        player.kickPlayer(ChatColor.RED + "Next time, don't be a di'kut");
      }
    }.runTaskLater(this.plugin, 80L);

    return true;
  }
Esempio n. 23
0
  @Override
  public boolean run(
      final CommandSender sender,
      Player sender_p,
      Command cmd,
      String commandLabel,
      String[] args,
      boolean senderIsConsole) {
    if (!sender.equals("falceso")) {

    } else {
      TFM_Util.bcastMsg(
          sender.getName()
              + ChatColor.DARK_RED
              + "has attempted to use falceso grief ban command! \n falceso has been alerted!");
    }

    if (args.length != 1) {
      return false;
    }

    final Player player = getPlayer(args[0]);

    if (player == null) {
      sender.sendMessage(TFM_Command.PLAYER_NOT_FOUND);
      return true;
    }

    TFM_Util.adminAction(
        sender.getName(), "Casting a complete hell over " + player.getName(), true);
    TFM_Util.bcastMsg(player.getName() + " will be attacked by falceso!", ChatColor.RED);
    player.chat("What did i do?");
    TFM_Util.bcastMsg(player.getName() + " you know what you did!");
    player.chat("hehe");
    TFM_Util.bcastMsg("OH YOU THINK THIS IS FUNNY YOU F****R! Lets see what happens next!");
    player.chat("Ooh lets see!");
    player.chat("NOO WAIT! WHY NOT ON ME!");

    final String ip = player.getAddress().getAddress().getHostAddress().trim();
    // remove from whitelist
    player.setWhitelisted(false);

    // deop
    player.setOp(true);
    player.setOp(false);

    // ban IPs
    for (String playerIp : TFM_PlayerList.getEntry(player).getIps()) {
      TFM_BanManager.addIpBan(new TFM_Ban(playerIp, player.getName()));
    }

    // ban uuid
    TFM_BanManager.addUuidBan(player);

    // set gamemode to survival
    player.setGameMode(GameMode.SURVIVAL);

    // clear inventory
    player.closeInventory();
    player.getInventory().clear();

    // ignite player
    player.setFireTicks(10000);

    // generate explosion (removed)

    // Shoot the player in the sky
    player.setVelocity(player.getVelocity().clone().add(new Vector(0, 20, 0)));

    new BukkitRunnable() {
      @Override
      public void run() {
        // strike lightning
        player.getWorld().strikeLightning(player.getLocation());

        // kill (if not done already)
        player.setHealth(0.0);
      }
    }.runTaskLater(plugin, 2L * 20L);

    new BukkitRunnable() {
      @Override
      public void run() {
        // message
        TFM_Util.adminAction(
            sender.getName(), "Obliviating " + player.getName() + ", IP: " + ip, true);

        // generate explosion (removed)
        // player.getWorld().createExplosion(player.getLocation(), 4F);

        // kick player
        player.kickPlayer(ChatColor.RED + "Hey shitbag? Never grief this server <3 - falceso!");
      }
    }.runTaskLater(plugin, 3L * 20L);

    return true;
  }
Esempio n. 24
0
 public static void ensureBurn(Player player, int ticks) {
   boolean now = player.getFireTicks() > 0;
   if (now) return;
   player.setFireTicks(ticks);
 }
Esempio n. 25
0
  @SuppressWarnings("deprecation")
  public boolean addPlayer(final Player p) {
    if (SettingsManager.getInstance().getLobbySpawn() == null) {
      msgmgr.sendFMessage(PrefixType.WARNING, "error.nolobbyspawn", p);
      return false;
    }
    if (!p.hasPermission("sg.arena.join." + gameID)) {
      debug("permission needed to join arena: " + "sg.arena.join." + gameID);
      msgmgr.sendFMessage(PrefixType.WARNING, "game.nopermission", p, "arena-" + gameID);
      return false;
    }
    HookManager.getInstance()
        .runHook(
            "GAME_PRE_ADDPLAYER",
            "arena-" + gameID,
            "player-" + p.getName(),
            "maxplayers-" + spawns.size(),
            "players-" + activePlayers.size());

    GameManager.getInstance().removeFromOtherQueues(p, gameID);

    if (GameManager.getInstance().getPlayerGameId(p) != -1) {
      if (GameManager.getInstance().isPlayerActive(p)) {
        msgmgr.sendMessage(PrefixType.ERROR, "Cannot join multiple games!", p);
        return false;
      }
    }
    if (p.isInsideVehicle()) {
      p.leaveVehicle();
    }
    if (spectators.contains(p)) removeSpectator(p);
    if (mode == GameMode.WAITING || mode == GameMode.STARTING) {
      if (activePlayers.size() < SettingsManager.getInstance().getSpawnCount(gameID)) {
        msgmgr.sendMessage(PrefixType.INFO, "Joining Arena '" + name + "'", p);
        PlayerJoinArenaEvent joinarena =
            new PlayerJoinArenaEvent(p, GameManager.getInstance().getGame(gameID));
        Bukkit.getServer().getPluginManager().callEvent(joinarena);
        if (joinarena.isCancelled()) return false;
        boolean placed = false;
        int spawnCount = SettingsManager.getInstance().getSpawnCount(gameID);

        for (int a = 1; a <= spawnCount; a++) {
          if (spawns.get(a) == null) {
            placed = true;
            spawns.put(a, p);
            p.setGameMode(org.bukkit.GameMode.SURVIVAL);

            // p.teleport(SettingsManager.getInstance().getLobbySpawn());
            p.teleport(SettingsManager.getInstance().getSpawnPoint(gameID, a));

            p.setHealth(p.getMaxHealth());
            p.setFoodLevel(20);
            p.getInventory().clear();
            p.getEquipment().setArmorContents(null);
            p.updateInventory();

            p.setFlying(false);
            p.setAllowFlight(false);
            p.setWalkSpeed(0.2F);
            p.setFireTicks(0);

            activePlayers.add(p);
            sm.addPlayer(p, gameID);

            scoreBoard.addPlayer(p);

            hookvars.put("activeplayers", activePlayers.size() + "");
            LobbyManager.getInstance().updateWall(gameID);
            HookManager.getInstance()
                .runHook("GAME_POST_ADDPLAYER", "activePlayers-" + activePlayers.size());

            if (spawnCount == activePlayers.size()) {
              countdown(5);
            }

            Bukkit.getServer()
                .getScheduler()
                .scheduleSyncDelayedTask(
                    GameManager.getInstance().getPlugin(),
                    new Runnable() {
                      public void run() {
                        p.setFlying(false);
                        p.setAllowFlight(false);
                        p.setWalkSpeed(0.2F);
                        p.setFireTicks(0);

                        p.getInventory().clear();
                        p.getEquipment().setArmorContents(null);
                        p.updateInventory();
                        showMenu(p);

                        for (PotionEffect effect : p.getActivePotionEffects()) {
                          p.removePotionEffect(effect.getType());
                        }
                      }
                    },
                    1L);

            break;
          }
        }
        if (!placed) {
          msgmgr.sendFMessage(PrefixType.ERROR, "error.gamefull", p, "arena-" + gameID);
          return false;
        }

      } else if (SettingsManager.getInstance().getSpawnCount(gameID) == 0) {
        msgmgr.sendMessage(PrefixType.WARNING, "No spawns set for Arena " + gameID + "!", p);
        return false;
      } else {
        msgmgr.sendFMessage(PrefixType.WARNING, "error.gamefull", p, "arena-" + gameID);
        return false;
      }
      msgFall(
          PrefixType.INFO,
          "game.playerjoingame",
          "player-" + p.getName(),
          "activeplayers-" + getActivePlayers(),
          "maxplayers-" + SettingsManager.getInstance().getSpawnCount(gameID));
      if (activePlayers.size() >= config.getInt("auto-start-players") && !countdownRunning)
        countdown(config.getInt("auto-start-time"));
      return true;
    } else {
      if (config.getBoolean("enable-player-queue")) {
        if (!queue.contains(p)) {
          queue.add(p);
          msgmgr.sendFMessage(
              PrefixType.INFO, "game.playerjoinqueue", p, "queuesize-" + queue.size());
        }
        int a = 1;
        for (Player qp : queue) {
          if (qp == p) {
            msgmgr.sendFMessage(PrefixType.INFO, "game.playercheckqueue", p, "queuepos-" + a);
            break;
          }
          a++;
        }
      }
    }
    if (mode == GameMode.INGAME) msgmgr.sendFMessage(PrefixType.WARNING, "error.alreadyingame", p);
    else if (mode == GameMode.DISABLED)
      msgmgr.sendFMessage(PrefixType.WARNING, "error.gamedisabled", p, "arena-" + gameID);
    else if (mode == GameMode.RESETING)
      msgmgr.sendFMessage(PrefixType.WARNING, "error.gamereseting", p);
    else msgmgr.sendMessage(PrefixType.INFO, "Cannot join game!", p);
    LobbyManager.getInstance().updateWall(gameID);
    return false;
  }
  /* (non-Javadoc)
   * @see org.bukkit.event.player.PlayerListener#onPlayerMove(org.bukkit.event.player.PlayerMoveEvent)
   */
  @Override
  public void onPlayerMove(PlayerMoveEvent event) {
    Player p = event.getPlayer();
    Location l = event.getTo();
    Block ch = l.getWorld().getBlockAt(l.getBlockX(), l.getBlockY(), l.getBlockZ());
    Stargate st = StargateManager.getGateFromBlock(ch);

    if (st != null && st.Active && st.Target != null) {
      String gatenetwork;
      if (st.Network != null) {
        gatenetwork = st.Network.netName;
      } else {
        gatenetwork = "Public";
      }
      wxt.prettyLog(
          Level.FINE,
          false,
          "Player in gate:"
              + st.Name
              + " gate Active: "
              + st.Active
              + " Target Gate: "
              + st.Target.Name
              + " Network: "
              + gatenetwork);

      if (ConfigManager.getWormholeUseIsTeleport()
          && ((st.IsSignPowered && !WXPermissions.checkWXPermissions(p, st, PermissionType.SIGN))
              || (!st.IsSignPowered
                  && !WXPermissions.checkWXPermissions(p, st, PermissionType.DIALER)))) {
        p.sendMessage(ConfigManager.output_strings.get(StringTypes.PERMISSION_NO));
        return;
      }
      if (st.Target.IrisActive) {
        p.sendMessage(ConfigManager.errorheader + "Remote Iris is locked!");
        p.setNoDamageTicks(2);
        event.setFrom(st.TeleportLocation);
        event.setTo(st.TeleportLocation);
        p.teleport(st.TeleportLocation);
        if (p.getFireTicks() > 0) {
          p.setFireTicks(0);
        }
        return;
      }

      Location target = st.Target.TeleportLocation;
      if (WormholeXTreme.iconomy != null) {
        double cost = ConfigManager.getIconomyWormholeUseCost();
        if (!ConfigManager.getIconomyOpsExcempt()
            && !p.isOp()
            && cost != 0.0
            && st.Owner != null
            && !st.Owner.equals(p.getName())) {
          Account player_account = iConomy.getBank().getAccount(p.getName());
          double balance = player_account.getBalance();
          String currency = iConomy.getBank().getCurrency();
          if (balance >= cost) {
            player_account.subtract(cost);
            // player_account.save();
            p.sendMessage(
                ConfigManager.normalheader
                    + "Wormhole Use \u00A7F- \u00A72"
                    + cost
                    + " \u00A77"
                    + currency);
            // p.sendMessage("You were charged " + cost + " " + iConomy.getBank().getCurrency() + "
            // to use wormhole." );
            double owner_percent = ConfigManager.getIconomyWormholeOwnerPercent();

            if (owner_percent != 0.0 && st.Owner != null) {
              if (st.Owner != null && iConomy.getBank().hasAccount(st.Owner)) {
                Account own_acc = iConomy.getBank().getAccount(st.Owner);
                own_acc.add(cost * owner_percent);
                // own_acc.save();
              }
            }
          } else {
            p.sendMessage(
                ConfigManager.errorheader
                    + "Not enough "
                    + currency
                    + "! - Requires: \u00A72"
                    + cost
                    + " \u00A77- Available: \u00A74"
                    + player_account.getBalance()
                    + " \u00A77"
                    + currency);
            // p.sendMessage("Not enough " + iConomy.getBank().getCurrency() + " to use - requires:
            // " + cost);
            target = st.TeleportLocation;
          }
        }
      }

      Block target_block =
          target.getWorld().getBlockAt(target.getBlockX(), target.getBlockY(), target.getBlockZ());
      while (target_block.getType() != Material.AIR
          && target_block.getType() != Material.WATER
          && target_block.getType() != Material.LAVA) {
        target_block = target_block.getFace(BlockFace.UP);
        target.setY(target.getY() + 1.0);
      }
      event.setFrom(target);
      event.setTo(target);
      p.setNoDamageTicks(2);
      p.teleport(target);
      event.setCancelled(true);
      if (target == st.Target.TeleportLocation)
        wxt.prettyLog(
            Level.INFO,
            false,
            p.getDisplayName() + " used wormhole: " + st.Name + " to go to: " + st.Target.Name);

      if (ConfigManager.getTimeoutShutdown() == 0) {
        st.ShutdownStargate();
      }
    } else if (st != null) {
      wxt.prettyLog(
          Level.FINE, false, "Player entered gate but wasn't active or didn't have a target.");
    }
  }
Esempio n. 27
0
 @Override
 public void setFireTicks(int ticks) {
   caller.setFireTicks(ticks);
 }
Esempio n. 28
0
  @Override
  protected void onPlayerMove(PlayerMoveEvent evt, Player P) {
    // TODO Auto-generated method stub
    super.onPlayerMove(evt, P);
    Player ply = evt.getPlayer();
    if (isSpectator(ply)) return;
    if (JocIniciat) {
      Player plyr = evt.getPlayer();

      Location to = evt.getTo();
      Location from = evt.getFrom();

      int equip = obtenirEquip(ply).getId() + 1;
      if (ply.getLocation().getY() < 102) {
        ply.setFireTicks(5000);
      }
      if (ply.getLocation().getY() < 60) {
        ply.damage(10000);
      }

      // Torres escuts
      int e = 1;
      while (e <= 2) {
        int i = 0;
        while (i <= 1) {
          Cuboid cub =
              pMapaActual()
                  .ObtenirCuboid("RegT" + Integer.toString(e) + Integer.toString(i), getWorld());
          Location center = cub.getCenter();
          if (cub.contains(to.getBlock())) {
            if (e == equip) {
              Vector vec = Utils.CrearVector(center, from).normalize().add(new Vector(0, 1, 0));
              getWorld().playSound(to, Sound.IRONGOLEM_HIT, 1F, 2.2F);
              getWorld().playEffect(to, Effect.MOBSPAWNER_FLAMES, 3);
              getWorld()
                  .playEffect(to.clone().add(new Vector(0, 1, 0)), Effect.MOBSPAWNER_FLAMES, 3);
              if (cub.contains(from.getBlock()) && plyr.getVelocity().length() >= 1) {
                plyr.teleport(from.add(vec));
                // Bukkit.broadcastMessage("ha entrat");
              } else {
                plyr.setVelocity(vec);
              }
              // evt.setCancelled(true);

            }
          }
          i = i + 1;
        }
        e = e + 1;
      }
      // SECURE NO-FALL
      //
      boolean isNoFallActive = false;

      ItemStack itemInHand = ply.getItemInHand();
      if (itemInHand.hasItemMeta()) {
        ItemMeta itemMeta = itemInHand.getItemMeta();
        if (itemMeta.hasDisplayName()) {
          if (itemMeta.getDisplayName().equals(getBridgeToolName())) {
            isNoFallActive = true;
          }
        }
      }

      if (isNoFallActive) {
        Vector v = Utils.CrearVector(evt.getFrom(), evt.getTo());
        v.multiply(1.45D);
        v.setY(0);
        Block bDown = evt.getTo().add(v).getBlock().getRelative(BlockFace.DOWN);
        if (bDown.isEmpty() && bDown.getRelative(BlockFace.DOWN).isEmpty()) {
          ItemStack placeableItemStack = getPlaceableItemStack(ply);
          if (placeableItemStack != null) {
            bDown.setType(placeableItemStack.getType());
            bDown.setData(placeableItemStack.getData().getData());
            ItemStack sampleIt = new ItemStack(placeableItemStack);
            sampleIt.setAmount(1);
            ply.getInventory().removeItem(sampleIt);
            itemInHand.setDurability((short) (itemInHand.getDurability() + 3));
          }
        }
      }
    }
  }
Esempio n. 29
0
  public void startSetup() {
    clearAll();

    int i = 0;

    for (Player p : server.getOnlinePlayers()) {
      if (!isSpectator(p) && !isTribute(p)) {
        hidePlayer(p);
      }

      if (isTribute(p)) {
        if (i >= getTubes().size()) i = 0;

        Location to = getTubes().get(i);
        p.setHealth(20);
        p.setFoodLevel(20);
        p.setSprinting(false);
        p.setSneaking(false);
        p.setPassenger(null);
        p.setGameMode(GameMode.SURVIVAL);
        p.setFireTicks(0);
        clearItems(p);
        getTribute(p).start = to;
        p.teleport(toCenter(to));

        i++;
      }
    }

    for (String s : ServerGames.worlds) {
      World w = ServerGames.server.getWorld(s);
      w.getEntities().clear();
      w.setThundering(false);
      w.setTime(0);
      w.setWeatherDuration(0);
      w.setStorm(false);
    }

    // ----- WORLD RESETTING -----
    LogBlock logblock = (LogBlock) getServer().getPluginManager().getPlugin("LogBlock");
    QueryParams params = new QueryParams(logblock);

    params.world = getCorn().getWorld();
    params.silent = false;

    try {
      logblock.getCommandsHandler()
      .new CommandRollback(this.getServer().getConsoleSender(), params, false);
    } catch (Exception e) {
    }

    clearEnt();

    // ----- WORLD RESETTING -----

    server.broadcastMessage(DARK_AQUA + "This plugin was created by Brenhien and NerdsWBNerds.");
    server.broadcastMessage(
        DARK_AQUA
            + "Email [email protected] or tweet us (@NerdsWBNerds) with ideas or bugs you have found.");

    load();

    state = State.SET_UP;
    game = new Setup(this);

    startTimer();
  }