org.bukkit.World#getPlayers ( )源码实例Demo

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

源代码1 项目: uSkyBlock   文件: WorldGuardHandler.java
public static List<Player> getPlayersInRegion(World world, ProtectedRegion region) {
    // Note: This might be heavy - for large servers...
    List<Player> players = new ArrayList<>();
    if (region == null) {
        return players;
    }
    for (Player player : world.getPlayers()) {
        if (player != null && player.isOnline()) {
            Location p = player.getLocation();
            if (region.contains(p.getBlockX(), p.getBlockY(), p.getBlockZ())) {
                players.add(player);
            }
        }
    }
    return players;
}
 
@Override
public void run() {
	worlds.clear();
	
	for (World world : Bukkit.getWorlds()) {
		List<Player> players = world.getPlayers();
		int count = 0;
		
		for (Player player : players) {
			if (!player.hasMetadata("NPC")) {
				count++;
			}
		}
		worlds.put(world.getName(), count);
	}
}
 
源代码3 项目: GriefDefender   文件: GriefDefenderPlugin.java
private void cleanup() {
    for (BukkitRunnable task : this.runningTasks) {
        task.cancel();
    }
    for (World world : Bukkit.getServer().getWorlds()) {
        for (Player player : world.getPlayers()) {
            if (player.isDead()) {
                continue;
            }
            final GDPlayerData playerData = GriefDefenderPlugin.getInstance().dataStore.getOrCreatePlayerData(player.getWorld(), player.getUniqueId());
            playerData.onDisconnect();
        }
    }
}
 
源代码4 项目: GlobalWarming   文件: PermanentSlowness.java
@Override
public void run() {
    for (World world : Bukkit.getWorlds()) {
        WorldClimateEngine climateEngine = ClimateEngine.getInstance().getClimateEngine(world.getUID());
        if (climateEngine != null && climateEngine.isEffectEnabled(ClimateEffectType.PERMANENT_SLOWNESS)) {
            for (Player player : world.getPlayers()) {
                updatePlayerSlowness(player, climateEngine.getTemperature());
            }
        }
    }
}
 
源代码5 项目: GlobalWarming   文件: Weather.java
/**
 * Get a random player's location (must be outdoors, specifically: no block overhead)
 */
private Location getOutdoorPlayerLocation(World world) {
    Location location = null;
    List<Player> players = world.getPlayers();
    if (players.size() > 0) {
        Player player = players.get(ThreadLocalRandom.current().nextInt(0, players.size()));
        if (world.getHighestBlockAt(player.getLocation()).getY() < player.getLocation().getY()) {
            location = player.getLocation();
        }
    }

    return location;
}
 
源代码6 项目: UHC   文件: PermadayCommand.java
@Override
protected boolean runCommand(CommandSender sender, OptionSet options) {
    List<World> worlds = worldsSpec.values(options);

    if (worlds.size() == 0) {
        if (!(sender instanceof Player)) {
            sender.sendMessage(messages.getRaw("provide world"));
            return true;
        }

        worlds = Lists.newArrayList(((Player) sender).getWorld());
    }

    final boolean on = !options.has(turnOff);

    for (final World world : worlds) {
        if (on) {
            world.setGameRuleValue(DO_DAYLIGHT_CYCLE_GAMERULE, "false");
            world.setTime(SUN_OVERHEAD_TIME);
        } else {
            world.setGameRuleValue(DO_DAYLIGHT_CYCLE_GAMERULE, "true");
        }

        final String message = messages.evalTemplate(
                on ? "on notification" : "off notification",
                ImmutableMap.of("world", world.getName())
        );

        for (final Player player : world.getPlayers()) {
            player.sendMessage(message);
        }
    }

    sender.sendMessage(messages.evalTemplate(
            on ? "on completed" : "off completed",
            ImmutableMap.of("count", worlds.size())
    ));

    return true;
}
 
源代码7 项目: SkyWarsReloaded   文件: NMSHandler.java
public void sendParticles(World world, String type, float x, float y, float z, float offsetX, float offsetY, float offsetZ, float data, int amount) {
	EnumParticle particle = EnumParticle.valueOf(type);
	PacketPlayOutWorldParticles particles = new PacketPlayOutWorldParticles(particle, false, x, y, z, offsetX, offsetY, offsetZ, data, amount, 1);
	for (Player player: world.getPlayers()) {
		CraftPlayer start = (CraftPlayer) player; //Replace player with your player.
		EntityPlayer target = start.getHandle();
		PlayerConnection connect = target.playerConnection;
		connect.sendPacket(particles);
	}
}
 
源代码8 项目: SkyWarsReloaded   文件: NMSHandler.java
public void sendParticles(World world, String type, float x, float y, float z, float offsetX, float offsetY, float offsetZ, float data, int amount) {
	EnumParticle particle = EnumParticle.valueOf(type);
	PacketPlayOutWorldParticles particles = new PacketPlayOutWorldParticles(particle, true, x, y, z, offsetX, offsetY, offsetZ, data, amount, 1);
	for (Player player: world.getPlayers()) {
		CraftPlayer start = (CraftPlayer) player; //Replace player with your player.
		EntityPlayer target = start.getHandle();
		PlayerConnection connect = target.playerConnection;
		connect.sendPacket(particles);
	}
}
 
源代码9 项目: SkyWarsReloaded   文件: NMSHandler.java
public void sendParticles(World world, String type, float x, float y, float z, float offsetX, float offsetY, float offsetZ, float data, int amount) {
	EnumParticle particle = EnumParticle.valueOf(type);
	PacketPlayOutWorldParticles particles = new PacketPlayOutWorldParticles(particle, true, x, y, z, offsetX, offsetY, offsetZ, data, amount, 1);
	for (Player player: world.getPlayers()) {
		CraftPlayer start = (CraftPlayer) player; //Replace player with your player.
		EntityPlayer target = start.getHandle();
		PlayerConnection connect = target.playerConnection;
		connect.sendPacket(particles);
	}
}
 
源代码10 项目: SkyWarsReloaded   文件: NMSHandler.java
public void sendParticles(World world, String type, float x, float y, float z, float offsetX, float offsetY, float offsetZ, float data, int amount) {
	EnumParticle particle = EnumParticle.valueOf(type);
	PacketPlayOutWorldParticles particles = new PacketPlayOutWorldParticles(particle, true, x, y, z, offsetX, offsetY, offsetZ, data, amount, 1);
	for (Player player: world.getPlayers()) {
		CraftPlayer start = (CraftPlayer) player; //Replace player with your player.
		EntityPlayer target = start.getHandle();
		PlayerConnection connect = target.playerConnection;
		connect.sendPacket(particles);
	}
}
 
源代码11 项目: SkyWarsReloaded   文件: NMSHandler.java
public void sendParticles(World world, String type, float x, float y, float z, float offsetX, float offsetY, float offsetZ, float data, int amount) {
	EnumParticle particle = EnumParticle.valueOf(type);
	PacketPlayOutWorldParticles particles = new PacketPlayOutWorldParticles(particle, true, x, y, z, offsetX, offsetY, offsetZ, data, amount, 1);
	for (Player player: world.getPlayers()) {
		CraftPlayer start = (CraftPlayer) player; //Replace player with your player.
		EntityPlayer target = start.getHandle();
		PlayerConnection connect = target.playerConnection;
		connect.sendPacket(particles);
	}
}
 
源代码12 项目: SkyWarsReloaded   文件: NMSHandler.java
public void sendParticles(World world, String type, float x, float y, float z, float offsetX, float offsetY, float offsetZ, float data, int amount) {
	EnumParticle particle = EnumParticle.valueOf(type);
	PacketPlayOutWorldParticles particles = new PacketPlayOutWorldParticles(particle, true, x, y, z, offsetX, offsetY, offsetZ, data, amount, 1);
	for (Player player: world.getPlayers()) {
		CraftPlayer start = (CraftPlayer) player; //Replace player with your player.
		EntityPlayer target = start.getHandle();
		PlayerConnection connect = target.playerConnection;
		connect.sendPacket(particles);
	}
}
 
源代码13 项目: SkyWarsReloaded   文件: NMSHandler.java
public void sendParticles(World world, String type, float x, float y, float z, float offsetX, float offsetY, float offsetZ, float data, int amount) {
	EnumParticle particle = EnumParticle.valueOf(type);
	PacketPlayOutWorldParticles particles = new PacketPlayOutWorldParticles(particle, true, x, y, z, offsetX, offsetY, offsetZ, data, amount, 1);
	for (Player player: world.getPlayers()) {
		CraftPlayer start = (CraftPlayer) player; //Replace player with your player.
		EntityPlayer target = start.getHandle();
		PlayerConnection connect = target.playerConnection;
		connect.sendPacket(particles);
	}
}
 
源代码14 项目: SkyWarsReloaded   文件: NMSHandler.java
public void sendParticles(World world, String type, float x, float y, float z, float offsetX, float offsetY, float offsetZ, float data, int amount) {
	EnumParticle particle = EnumParticle.valueOf(type);
	PacketPlayOutWorldParticles particles = new PacketPlayOutWorldParticles(particle, false, x, y, z, offsetX, offsetY, offsetZ, data, amount, 1);
	for (Player player: world.getPlayers()) {
		CraftPlayer start = (CraftPlayer) player; //Replace player with your player.
		EntityPlayer target = start.getHandle();
		PlayerConnection connect = target.playerConnection;
		connect.sendPacket(particles);
	}
}
 
源代码15 项目: GriefDefender   文件: PlayerTickTask.java
@Override
public void run() {
    for (World world : Bukkit.getServer().getWorlds()) {
        for (Player player : world.getPlayers()) {
            if (player.isDead()) {
                continue;
            }
            final GDPlayerData playerData = GriefDefenderPlugin.getInstance().dataStore.getOrCreatePlayerData(player.getWorld(), player.getUniqueId());
            final GDClaim claim = GriefDefenderPlugin.getInstance().dataStore.getClaimAtPlayer(playerData, player.getLocation());
            // send queued visuals
            int count = 0;
            final Iterator<BlockSnapshot> iterator = playerData.queuedVisuals.iterator();
            while (iterator.hasNext()) {
                final BlockSnapshot snapshot = iterator.next();
                if (count > GriefDefenderPlugin.getGlobalConfig().getConfig().visual.clientVisualsPerTick) {
                    break;
                }
                NMSUtil.getInstance().sendBlockChange(player, snapshot);
                iterator.remove();
                count++;
            }

            // chat capture
            playerData.updateRecordChat();
            // health regen
            if (world.getFullTime() % 100 == 0L) {
                final GameMode gameMode = player.getGameMode();
                // Handle player health regen
                if (gameMode != GameMode.CREATIVE && gameMode != GameMode.SPECTATOR && GDOptions.isOptionEnabled(Options.PLAYER_HEALTH_REGEN)) {
                    final double maxHealth = player.getMaxHealth();
                    if (player.getHealth() < maxHealth) {
                        final double regenAmount = GDPermissionManager.getInstance().getInternalOptionValue(TypeToken.of(Double.class), playerData.getSubject(), Options.PLAYER_HEALTH_REGEN, claim);
                        if (regenAmount > 0) {
                            final double newHealth = player.getHealth() + regenAmount;
                            if (newHealth > maxHealth) {
                                player.setHealth(maxHealth);
                            } else {
                                player.setHealth(newHealth);
                            }
                        }
                    }
                }
            }
            // teleport delay
            if (world.getFullTime() % 20 == 0L) {
                if (playerData.teleportDelay > 0) {
                    final int delay = playerData.teleportDelay - 1;
                    if (delay == 0) {
                        playerData.teleportDelay = 0;
                        player.teleport(playerData.teleportLocation);
                        playerData.teleportLocation = null;
                        playerData.teleportSourceLocation = null;
                        continue;
                    }
                    TextAdapter.sendComponent(player, MessageStorage.MESSAGE_DATA.getMessage(MessageStorage.TELEPORT_DELAY_NOTICE, 
                            ImmutableMap.of("delay", TextComponent.of(delay, TextColor.GOLD))));
                    playerData.teleportDelay = delay;
                }
            }
        }
    }
}
 
源代码16 项目: GriefDefender   文件: ClaimBlockTask.java
@Override
public void run() {
    for (World world : Bukkit.getServer().getWorlds()) {
        for (Player player : world.getPlayers()) {
            final GDPlayerData playerData = GriefDefenderPlugin.getInstance().dataStore.getOrCreatePlayerData(player.getWorld(), player.getUniqueId());
            final GDClaim claim = GriefDefenderPlugin.getInstance().dataStore.getClaimAtPlayer(playerData, player.getLocation());
            final GDPermissionUser holder = PermissionHolderCache.getInstance().getOrCreateUser(player);
            final int accrualPerHour = GDPermissionManager.getInstance().getInternalOptionValue(TypeToken.of(Integer.class), holder, Options.BLOCKS_ACCRUED_PER_HOUR, claim).intValue();
            if (accrualPerHour > 0) {
                Location lastLocation = playerData.lastAfkCheckLocation;
                // if he's not in a vehicle and has moved at least three blocks since the last check and he's not being pushed around by fluids
                if (player.getVehicle() == null &&
                        (lastLocation == null || lastLocation.getWorld() != player.getWorld() || lastLocation.distanceSquared(player.getLocation()) >= 0) &&
                        !NMSUtil.getInstance().isBlockWater(player.getLocation().getBlock())) {
                    int accruedBlocks = playerData.getBlocksAccruedPerHour() / 12;
                    if (accruedBlocks < 0) {
                        accruedBlocks = 1;
                    }

                    if (GriefDefenderPlugin.getInstance().isEconomyModeEnabled()) {
                        final VaultProvider vaultProvider = GriefDefenderPlugin.getInstance().getVaultProvider();
                        if (!vaultProvider.hasAccount(player)) {
                            continue;
                        }
                        vaultProvider.depositPlayer(player, accruedBlocks);
                    } else {
                        int currentTotal = playerData.getAccruedClaimBlocks();
                        if ((currentTotal + accruedBlocks) > playerData.getMaxAccruedClaimBlocks()) {
                            playerData.setAccruedClaimBlocks(playerData.getMaxAccruedClaimBlocks());
                            playerData.lastAfkCheckLocation = player.getLocation();
                            return;
                        }

                        playerData.setAccruedClaimBlocks(playerData.getAccruedClaimBlocks() + accruedBlocks);
                    }
                }

                playerData.lastAfkCheckLocation = player.getLocation();
            }
        }
    }
}
 
源代码17 项目: MineTinker   文件: CommandManager.java
@Override
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String s,
						 @NotNull String[] args) {
	if (!(sender.hasPermission("minetinker.commands.main"))) {
		sendError(sender, LanguageManager.getString("Commands.Failure.Cause.NoPermission"));
		return true;
	}

	if (args.length <= 0) {
		sendError(sender, LanguageManager.getString("Commands.Failure.Cause.InvalidArguments"));
		sendHelp(sender, null);
		return true;
	}

	if (args[0].equalsIgnoreCase("help") || args[0].equalsIgnoreCase("?")) {
		sendHelp(sender, args.length >= 2 ? map.get(args[1].toLowerCase()) : null);
		return true;
	}

	SubCommand sub = map.get(args[0].toLowerCase());
	if (sub == null) {
		sendError(sender, LanguageManager.getString("Commands.Failure.Cause.UnknownCommand"));
		sendHelp(sender, null);
		return true;
	}

	parseArguments(sender, sub, args);

	//@all / @allworld
	{
		int index = -1;
		boolean worldOnly = false;
		for (int i = 0; i < args.length; i++) {
			List<ArgumentType> types = sub.getArgumentsToParse().get(i);
			if (types != null && types.contains(ArgumentType.PLAYER)) {
				if (args[i].startsWith("@aw")) {
					index = i;
					worldOnly = true;
					break;
				} else if (args[i].startsWith("@a")) {
					index = i;
					break;
				}
			}
		}
		if (index != -1) {
			Collection<? extends Player> players;
			if (worldOnly) {
				World world = null;
				if (sender instanceof BlockCommandSender) {
					world = ((BlockCommandSender) sender).getBlock().getWorld();
				} else if (sender instanceof Entity) {
					world = ((Entity) sender).getWorld();
				}

				if (world == null) return true;
				players = world.getPlayers();
			} else {
				players = Bukkit.getOnlinePlayers();
			}

			boolean ret = true;
			for (Player player : players) {
				String[] arg = args.clone();
				arg[index] = player.getName();
				ret = ret && onCommand(sender, command, s, arg);
			}
		}
	}

	if (!sender.hasPermission(sub.getPermission())) {
		sendError(sender, LanguageManager.getString("Commands.Failure.Cause.NoPermission"));
		return true;
	}

	return sub.onCommand(sender, args);
}
 
源代码18 项目: SkyWarsReloaded   文件: NMSHandler.java
public void sendParticles(World world, String type, float x, float y, float z, float offsetX, float offsetY, float offsetZ, float data, int amount) {
	Particle particle = Particle.valueOf(type);
    for (Player player: world.getPlayers()) {
	    player.spawnParticle(particle, x, y, z, amount, offsetX, offsetY, offsetZ, data);
	}
}
 
源代码19 项目: NBTEditor   文件: UtilsMc.java
public static void broadcastToWorld(World world, String message) {
	for (Player player : world.getPlayers()) {
		player.sendMessage(message);
	}
}