org.bukkit.entity.Player#isOnline ( )源码实例Demo

下面列出了org.bukkit.entity.Player#isOnline ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: TrMenu   文件: CommandRunAction.java
@Override
public void onCommand(CommandSender sender, Command command, String label, String[] args) {
    Player player = Bukkit.getPlayerExact(args[0].startsWith("#") ? args[0].substring(1) : args[0]);
    if (player == null || !player.isOnline()) {
        TLocale.sendTo(sender, "COMMANDS.NO-PLAYER");
        return;
    }
    String actionString = ArrayUtil.arrayJoin(args, 1);
    boolean print = args[0].startsWith("#");
    TrAction.readActions(actionString).forEach(action -> {
        if (print) {
            player.sendMessage("§7Action Details: §3" + action.toString());
        }
        action.run(player);
    });
}
 
源代码2 项目: Survival-Games   文件: Game.java
@SuppressWarnings("deprecation")
public void removeSpectator(Player p) {
	ArrayList < Player > players = new ArrayList < Player > ();
	players.addAll(activePlayers);
	players.addAll(inactivePlayers);

	if(p.isOnline()){
		for (Player pl: Bukkit.getOnlinePlayers()) {
			pl.showPlayer(p);
		}
	}
	restoreInv(p);
	p.setAllowFlight(false);
	p.setFlying(false);
	p.setFallDistance(0);
	p.setHealth(p.getMaxHealth());
	p.setFoodLevel(20);
	p.setSaturation(20);
	p.teleport(SettingsManager.getInstance().getLobbySpawn());
	// Bukkit.getServer().broadcastPrefixType("Removing Spec "+p.getName()+" "+spectators.size()+" left");
	spectators.remove(p.getName());
	// Bukkit.getServer().broadcastPrefixType("Removed");

	nextspec.remove(p);
}
 
源代码3 项目: uSkyBlock   文件: IslandInfo.java
public void setupPartyLeader(@NotNull final String leader) {
    Validate.notNull(leader, "Leader cannot be null");
    Validate.notEmpty(leader, "Leader cannot be empty");

    UUID uuid = plugin.getPlayerDB().getUUIDFromName(leader);
    String uuidString = UUIDUtil.asString(uuid);
    config.set("party.leader", leader);
    config.set("party.leader-uuid", uuidString);
    ConfigurationSection section = config.createSection("party.members." + uuidString);
    section.set("canChangeBiome", true);
    section.set("canToggleLock", true);
    section.set("canChangeWarp", true);
    section.set("canToggleWarp", true);
    section.set("canInviteOthers", true);
    section.set("canKickOthers", true);
    section.set("canBanOthers", true);
    config.set("party.currentSize", getMembers().size());

    Player onlinePlayer = plugin.getPlayerDB().getPlayer(uuid);
    // The only time the onlinePlayer will be null is if it is being converted from another skyblock plugin.
    if (onlinePlayer != null && onlinePlayer.isOnline()) {
        updatePermissionPerks(onlinePlayer, plugin.getPerkLogic().getPerk(onlinePlayer));
    }
    save();
}
 
源代码4 项目: uSkyBlock   文件: RecalculateRunnable.java
@Override
public void run() {
    Set<String> recalcIslands = new HashSet<>();
    for (Player player : plugin.getWorldManager().getWorld().getPlayers()) {
        if (player.isOnline() && plugin.playerIsOnIsland(player)) {
            recalcIslands.add(plugin.getPlayerInfo(player).locationForParty());
        }
    }
    if (!recalcIslands.isEmpty()) {
        RecalculateTopTen runnable = new RecalculateTopTen(plugin, recalcIslands);
        runnable.runTaskAsynchronously(plugin);
    }
}
 
源代码5 项目: uSkyBlock   文件: LevelCommand.java
public boolean getIslandLevel(final Player player, final String islandPlayer, final String cmd) {
    final PlayerInfo info = plugin.getPlayerInfo(islandPlayer);
    if (info == null || !info.getHasIsland()) {
        player.sendMessage(tr("\u00a74That player is invalid or does not have an island!"));
        return false;
    }
    final us.talabrek.ultimateskyblock.api.IslandInfo islandInfo = plugin.getIslandInfo(info);
    if (islandInfo == null || islandInfo.getIslandLocation() == null) {
        player.sendMessage(tr("\u00a74That player is invalid or does not have an island!"));
        return false;
    }
    final boolean shouldRecalculate = player.getName().equals(info.getPlayerName()) || player.hasPermission("usb.admin.island");
    final Runnable showInfo = () -> {
        if (player != null && player.isOnline() && info != null) {
            player.sendMessage(tr("\u00a7eInformation about {0}''s Island:", islandPlayer));
            if (cmd.equalsIgnoreCase("level")) {
                IslandRank rank = plugin.getIslandLogic().getRank(info.locationForParty());
                if (rank != null) {
                    player.sendMessage(new String[]{
                            tr("\u00a7aIsland level is {0,number,###.##}", rank.getScore()),
                            tr("\u00a79Rank is {0}", rank.getRank())
                    });
                } else {
                    player.sendMessage(tr("\u00a74Could not locate rank of {0}", islandPlayer));
                }
            }
        }
    };
    if (shouldRecalculate) {
        plugin.getServer().getScheduler().runTaskLater(plugin, () -> plugin.calculateScoreAsync(player, info.locationForParty(), new Callback<us.talabrek.ultimateskyblock.api.model.IslandScore>() {
            @Override
            public void run() {
                plugin.getServer().getScheduler().scheduleSyncDelayedTask(plugin, showInfo, 10L);
            }
        }), 1L);
    } else {
        showInfo.run();
    }
    return true;
}
 
源代码6 项目: TrMenu   文件: CommandOpenMenu.java
@Override
public void onCommand(CommandSender sender, Command command, String label, String[] args) {
    if (args.length < 1) {
        TLocale.sendTo(sender, "COMMANDS.HELP-PAGE", TrMenu.getPlugin().getDescription().getVersion(), label.toUpperCase().charAt(0) + label.substring(1));
        return;
    }
    Menu menu = TrMenuAPI.getMenu(args[0]);
    if (menu == null) {
        TLocale.sendTo(sender, "MENU.NOT-EXIST");
        return;
    }
    if (args.length == 1) {
        if (sender instanceof Player) {
            menu.open((Player) sender, true);
        } else {
            TLocale.sendTo(sender, "COMMANDS.NOT-PLAYER");
        }
    }
    if (args.length >= 2) {
        Player player = Bukkit.getPlayerExact(args[1]);
        if (player == null || !player.isOnline()) {
            TLocale.sendTo(sender, "COMMANDS.NO-PLAYER");
        } else {
            menu.open(player, true);
            if (!(args.length >= 3 && "silent".equalsIgnoreCase(args[2]))) {
                TLocale.sendTo(sender, "COMMANDS.OPENED-FOR");
            }
        }
    }
}
 
源代码7 项目: uSkyBlock   文件: PlayerInfo.java
public boolean addPermissions(@Nullable List<String> perms) {
    if (perms == null || perms.isEmpty()) {
        return true;
    }

    Player target = getPlayer();
    Optional<PermissionsHook> hook = plugin.getHookManager().getPermissionsHook();

    if (target != null && target.isOnline() && hook.isPresent()) {
        List<String> permList = playerData.getStringList("player.perms");
        PermissionsHook pHook = hook.get();

        for (String perm : perms) {
            if (pHook.hasPermission(target, perm)) {
                permList.add(perm);
                pHook.addPermission(target, perm);
            }
        }
        playerData.set("player.perms", permList);
        save();
        return true;
    } else {
        List<String> pending = playerData.getStringList("pending-permissions");
        pending.addAll(perms);
        playerData.set("pending-permissions", pending);
        save();
        return false;
    }
}
 
源代码8 项目: DungeonsXL   文件: PlayerGroup.java
/**
 * Sends a message to all players in the group.
 * <p>
 * Supports color codes.
 *
 * @param message the message to sent
 * @param except  Players who shall not receive the message
 */
default void sendMessage(String message, Player... except) {
    members:
    for (Player player : getMembers().getOnlinePlayers()) {
        if (!player.isOnline()) {
            continue;
        }
        for (Player nope : except) {
            if (player == nope) {
                continue members;
            }
        }
        MessageUtil.sendMessage(player, message);
    }
}
 
源代码9 项目: NickNamer   文件: NickNamerPlugin.java
@Override
public void sendPluginMessage(Player player, String action, String... values) {
	if (!bungeecord) { return; }
	if (player == null || !player.isOnline()) { return; }

	ByteArrayDataOutput out = ByteStreams.newDataOutput();
	out.writeUTF(action);
	out.writeUTF(player.getUniqueId().toString());
	for (String s : values) {
		out.writeUTF(s);
	}
	player.sendPluginMessage(instance, channelIdentifier, out.toByteArray());
}
 
源代码10 项目: uSkyBlock   文件: IslandInfo.java
public void sendMessageToIslandGroup(boolean broadcast, @NotNull String message, @Nullable Object... args) {
    Validate.notNull(message, "Message cannot be null");
    Validate.notEmpty(message, "Message cannot be empty");

    if (broadcast) {
        for (UUID uuid : getMemberUUIDs()) {
            Player player = plugin.getPlayerDB().getPlayer(uuid);
            if (player != null && player.isOnline()) {
                player.sendMessage(tr("\u00a7cSKY \u00a7f> \u00a77 {0}", tr(message, args)));
            }
        }
    }
    log(message, args);
}
 
源代码11 项目: FunnyGuilds   文件: BanUtils.java
public static void ban(Guild guild, long time, String reason) {
    guild.setBan(time + System.currentTimeMillis());
    for (User user : guild.getMembers()) {
        ban(user, time, reason);
        
        Player p = user.getPlayer();
        if (p != null && p.isOnline()) {
            p.kickPlayer(getBanMessage(user));
        }
    }
}
 
源代码12 项目: askyblock   文件: Messages.java
/**
 * Sets a message for the player to receive next time they login
 * 
 * @param playerUUID - the player's UUID - player's UUID
 * @param message - message to set
 * @return true if player is offline, false if online
 */
public boolean setMessage(UUID playerUUID, String message) {
    // getLogger().info("DEBUG: received message - " + message);
    Player player = plugin.getServer().getPlayer(playerUUID);
    // Check if player is online
    if (player != null) {
        if (player.isOnline()) {
            // Util.sendMessage(player, message);
            return false;
        }
    }
    storeMessage(playerUUID, message);
    return true;
}
 
源代码13 项目: MarriageMaster   文件: BackpackCommand.java
private void openBackpack(MarriagePlayer opener, MarriagePlayer partner)
{
	Player sender = opener.getPlayerOnline();
	if(sender.getGameMode() == GameMode.SURVIVAL || sender.hasPermission(Permissions.BYPASS_BACKPACK_GAME_MODE)) //TODO use minepacks settings
	{
		Player partnerPlayer = partner.getPlayerOnline();
		if(partnerPlayer == null || !partnerPlayer.isOnline())
		{
			((MarriageMaster) getMarriagePlugin()).messagePartnerOffline.send(sender);
		}
		else if(partner.isSharingBackpack())
		{
			if(getMarriagePlugin().isInRangeSquared(sender, partnerPlayer, range))
			{
				((MarriageMaster) getMarriagePlugin()).getBackpacksIntegration().openBackpack(sender, partnerPlayer, true);
				messageOpened.send(partnerPlayer);
			}
			else
			{
				((MarriageMaster) getMarriagePlugin()).messagePartnerNotInRange.send(sender);
			}
		}
		else
		{
			messageShareDenied.send(sender);
		}
	}
	else
	{
		messageOnlyInSurvival.send(sender);
	}
}
 
源代码14 项目: UhcCore   文件: UhcTeam.java
public boolean isOnline(){
	int membersOnline = 0;
	for(UhcPlayer uhcPlayer : getMembers()){
		try{
			Player player = uhcPlayer.getPlayer();
			if(player.isOnline())
				membersOnline++;
		}catch(UhcPlayerNotOnlineException e){
			// not adding playing to count
		}
	}
	return (membersOnline > 0);
}
 
源代码15 项目: HeavySpleef   文件: PlayerStateHolder.java
public void apply(Player player, boolean teleport) {
	PlayerInventory playerInv = player.getInventory();
	boolean is1_9 = MinecraftVersion.getImplementationVersion().compareTo(MinecraftVersion.V1_9) >= 0;
       boolean isSimpleSize = playerInv.getContents().length <= SIMPLE_INVENTORY_SIZE;

       ItemStack[] inventoryContents = new ItemStack[is1_9 && !isSimpleSize ? playerInv.getSize() : SIMPLE_INVENTORY_SIZE];
       System.arraycopy(inventory, 0, inventoryContents, 0, inventoryContents.length);

       if (!is1_9 || isSimpleSize) {
           ItemStack[] armorContents = new ItemStack[ARMOR_INVENTORY_SIZE];
           System.arraycopy(inventory, inventory.length - ARMOR_INVENTORY_SIZE, armorContents, 0, armorContents.length);
           playerInv.setArmorContents(armorContents);
       }
	
	playerInv.setContents(inventoryContents);

	player.setItemOnCursor(null);
	Map<Integer, ItemStack> exceeded = playerInv.addItem(onCursor);
	for (ItemStack stack : exceeded.values()) {
           if (stack.getType() == Material.AIR) {
               continue;
           }
           
		player.getWorld().dropItem(player.getLocation(), stack);
	}
	
	player.updateInventory();

       player.setMaxHealth(maxHealth);
	player.setHealth(health);
	player.setFoodLevel(foodLevel);
	player.setLevel(level);
	player.setExp(experience);
	player.setAllowFlight(allowFlight);
	player.setFlying(isFlying);
	
	/* Remove current potion effects */
	Collection<PotionEffect> effects = player.getActivePotionEffects();
	for (PotionEffect effect : effects) {
		player.removePotionEffect(effect.getType());
	}
	player.addPotionEffects(activeEffects);
	
	player.setExhaustion(exhaustion);
	player.setSaturation(saturation);
	player.setFallDistance(fallDistance);
	player.setFireTicks(fireTicks);
	
	if (scoreboard != player.getScoreboard()) {
		Scoreboard showBoard = scoreboard;
		if (scoreboard == null) {
			showBoard = Bukkit.getScoreboardManager().getMainScoreboard();
		}
		
		player.setScoreboard(showBoard);
	}
	
	if (teleport) {
		player.teleport(location);
	}
	
	Location compassTarget = this.compassTarget;
	
	if (compassTarget == null) {
		compassTarget = player.getWorld().getSpawnLocation();
	}
	
	player.setCompassTarget(compassTarget);
	
	for (WeakReference<Player> ref : cantSee) {
		Player cantSeePlayer = ref.get();
		
		if (cantSeePlayer == null) {
			// Player object has been garbage-collected
			continue;
		}
		
		if (!cantSeePlayer.isOnline()) {
			continue;
		}
		
		player.hidePlayer(cantSeePlayer);
	}
	
	player.setGameMode(gamemode);
}
 
源代码16 项目: LuckPerms   文件: LPBukkitBootstrap.java
@Override
public boolean isPlayerOnline(UUID uniqueId) {
    Player player = getServer().getPlayer(uniqueId);
    return player != null && player.isOnline();
}
 
源代码17 项目: Civs   文件: TownMenu.java
@Override
public boolean doActionAndCancel(Civilian civilian, String actionString, ItemStack clickedItem) {
    Town town = (Town) MenuManager.getData(civilian.getUuid(), Constants.TOWN);
    Player player = Bukkit.getPlayer(civilian.getUuid());
    if (player == null || town == null) {
        return true;
    }
    String townName = town.getName();
    Object selectedTownObject = MenuManager.getData(civilian.getUuid(), Constants.SELECTED_TOWN);
    Town selectedTown;
    if (selectedTownObject == null) {
        selectedTown = TownManager.getInstance().isOwnerOfATown(civilian);
    } else if (selectedTownObject instanceof String) {
        selectedTown = TownManager.getInstance().getTown((String) selectedTownObject);
    } else {
        selectedTown = (Town) selectedTownObject;
    }
    if ("ally".equals(actionString)) {
        if (selectedTown == null || town.getAllyInvites().contains(selectedTown.getName())) {
            return true;
        }
        town.getAllyInvites().add(selectedTown.getName());
        player.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslationWithPlaceholders(player,
                "town-ally-request-sent").replace("$1", townName));
        for (UUID uuid : town.getRawPeople().keySet()) {
            if (town.getRawPeople().get(uuid).contains(Constants.OWNER)) {
                Player pSend = Bukkit.getPlayer(uuid);
                if (pSend != null && pSend.isOnline()) {
                    pSend.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslationWithPlaceholders(pSend,
                            "town-ally-request-sent").replace("$1", townName));
                }
            }
        }
        return true;
    } else if (actionString.equals("unally")) {
        if (selectedTown == null) {
            return true;
        }
        AllianceManager.getInstance().unAlly(selectedTown, town);
        for (Player cPlayer : Bukkit.getOnlinePlayers()) {
            cPlayer.sendMessage(Civs.getPrefix() + ChatColor.RED + LocaleManager.getInstance()
                    .getTranslationWithPlaceholders(cPlayer, "town-ally-removed")
                    .replace("$1", selectedTown.getName())
                    .replace("$2", townName));
        }
        return true;
    } else if (actionString.equals("join-revolt")) {
        CVItem costItem = CVItem.createCVItemFromString(ConfigManager.getInstance().getRevoltCost());
        if (!player.getInventory().contains(costItem.createItemStack())) {
            player.sendMessage(Civs.getPrefix() + LocaleManager.getInstance().getTranslationWithPlaceholders(
                    player, "item-cost").replace("$1", "" + costItem.getQty())
                    .replace("$2", costItem.getMat().name()));
            return true;
        }

        player.getInventory().removeItem(costItem.createItemStack());
        town.getRevolt().add(civilian.getUuid());
        TownManager.getInstance().saveTown(town);
        return true;
    } else if (actionString.equals("leave-revolt")) {
        town.getRevolt().remove(civilian.getUuid());
        TownManager.getInstance().saveTown(town);
        return true;
    }
    return super.doActionAndCancel(civilian, actionString, clickedItem);
}
 
源代码18 项目: LunaChat   文件: ChannelPlayerName.java
/**
 * オンラインかどうか
 * @return オンラインかどうか
 */
@Override
public boolean isOnline() {
    Player player = getPlayer();
    return (player != null && player.isOnline());
}
 
源代码19 项目: ChatMenuAPI   文件: ChatPacketInterceptor.java
public PlayerChatIntercept getChat(Player player)
{
	if(player == null || !player.isOnline())
		return null;
	return chats.computeIfAbsent(player, this::intercept);
}
 
源代码20 项目: uSkyBlock   文件: InviteCommand.java
@Override
protected boolean doExecute(String alias, Player player, PlayerInfo pi, IslandInfo island, Map<String, Object> data, String... args) {
    if (args.length == 0) {
        player.sendMessage(I18nUtil.tr("\u00a7eUse\u00a7f /island invite <playername>\u00a7e to invite a player to your island."));
        if (!island.isParty()) {
            return true;
        }
        if (!island.isLeader(player) || !island.hasPerm(player, "canInviteOthers")) {
            player.sendMessage(I18nUtil.tr("\u00a74Only the island''s owner can invite!"));
            return true;
        }
        int diff = island.getMaxPartySize() - island.getPartySize();
        if (diff > 0) {
            player.sendMessage(I18nUtil.tr("\u00a7aYou can invite {0} more players.", diff));
        } else {
            player.sendMessage(I18nUtil.tr("\u00a74You can't invite any more players."));
        }
    }
    if (args.length == 1) {
        //noinspection deprecation
        Player otherPlayer = Bukkit.getPlayer(args[0]);
        if (!island.hasPerm(player, "canInviteOthers")) {
            player.sendMessage(I18nUtil.tr("\u00a74You do not have permission to invite others to this island!"));
            return true;
        }
        if (otherPlayer == null || !otherPlayer.isOnline()) {
            player.sendMessage(I18nUtil.tr("\u00a74That player is offline or doesn't exist."));
            return true;
        }
        if (player.getName().equalsIgnoreCase(otherPlayer.getName())) {
            player.sendMessage(I18nUtil.tr("\u00a74You can't invite yourself!"));
            return true;
        }
        if (island.isLeader(otherPlayer)) {
            player.sendMessage(I18nUtil.tr("\u00a74That player is the leader of your island!"));
            return true;
        }
        plugin.getServer().getPluginManager().callEvent(new InviteEvent(player, island, otherPlayer));
    }
    return true;
}