public void sendThisChunkToPlayer(EntityPlayerMP par1EntityPlayerMP) { if (this.playersInChunk.contains(par1EntityPlayerMP)) { par1EntityPlayerMP.playerNetServerHandler.sendPacketToPlayer( new Packet51MapChunk( PlayerManager.getWorldServer(this.thePlayerManager) .getChunkFromChunkCoords( this.chunkLocation.chunkXPos, this.chunkLocation.chunkZPos), true, 0)); this.playersInChunk.remove(par1EntityPlayerMP); par1EntityPlayerMP.loadedChunks.remove(this.chunkLocation); MinecraftForge.EVENT_BUS.post(new ChunkWatchEvent.UnWatch(chunkLocation, par1EntityPlayerMP)); if (this.playersInChunk.isEmpty()) { long i = (long) this.chunkLocation.chunkXPos + 2147483647L | (long) this.chunkLocation.chunkZPos + 2147483647L << 32; PlayerManager.getChunkWatchers(this.thePlayerManager).remove(i); if (this.numberOfTilesToUpdate > 0) { PlayerManager.getChunkWatchersWithPlayers(this.thePlayerManager).remove(this); } this.thePlayerManager .getWorldServer() .theChunkProviderServer .unloadChunksIfNotNearSpawn(this.chunkLocation.chunkXPos, this.chunkLocation.chunkZPos); } } }
private void SetPlayerManager(JsonArray players, JsonObject turnTracker) { Player[] catanPlayers = new Player[players.size()]; int longestRoad = turnTracker.getAsJsonPrimitive("longestRoad").getAsInt(); int largestArmy = turnTracker.getAsJsonPrimitive("largestArmy").getAsInt(); for (int i = 0; i < players.size(); i++) { if (!players.get(i).isJsonNull()) { JsonObject player = players.get(i).getAsJsonObject(); int index = player.getAsJsonPrimitive("playerIndex").getAsInt(); String name = player.getAsJsonPrimitive("name").getAsString(); String color = player.getAsJsonPrimitive("color").getAsString(); int playerId = player.getAsJsonPrimitive("playerID").getAsInt(); int cities = player.getAsJsonPrimitive("cities").getAsInt(); int settlements = player.getAsJsonPrimitive("settlements").getAsInt(); int roads = player.getAsJsonPrimitive("roads").getAsInt(); int victoryPoints = player.getAsJsonPrimitive("victoryPoints").getAsInt(); Player newPlayer = new Player(); newPlayer.setPoints(victoryPoints); try { newPlayer.setColor(color); } catch (InvalidColorException e) { e.printStackTrace(); } if (longestRoad == index) { newPlayer.setLongestRoad(true); } if (largestArmy == index) { newPlayer.setLargestArmy(true); } newPlayer.setId(playerId); newPlayer.setCitiesRemaining(cities); newPlayer.setSettlementsRemaining(settlements); newPlayer.setRoadsRemaining(roads); newPlayer.setPlayerIndex(index); newPlayer.setName(name); // <========Construct part of player manager here============> catanPlayers[index] = newPlayer; } } // <========Construct player manager here============> PlayerManager newPlayerManager = new PlayerManager(); newPlayerManager.setCatanPlayers(catanPlayers); newPlayerManager.setIndexOfLargestArmy(largestArmy); newPlayerManager.setIndexOfLongestRoad(longestRoad); this.playerManager = newPlayerManager; }
public PlayerInstance(PlayerManager par1PlayerManager, int par2, int par3) { this.thePlayerManager = par1PlayerManager; this.playersInChunk = new ArrayList(); this.locationOfBlockChange = new short[64]; this.numberOfTilesToUpdate = 0; this.chunkLocation = new ChunkCoordIntPair(par2, par3); par1PlayerManager.getWorldServer().theChunkProviderServer.loadChunk(par2, par3); }
private void SetTurnManager(JsonObject turnTracker) throws TurnIndexException, InvalidTurnStatusException, GeneralPlayerException { int currentTurn = turnTracker.getAsJsonPrimitive("currentTurn").getAsInt(); String status = turnTracker.getAsJsonPrimitive("status").getAsString(); PlayerTurnTracker playerTurnTracker = new PlayerTurnTracker(currentTurn, TurnType.toEnum(status)); playerManager.setTurnTracker(playerTurnTracker); }
/** calculateHP HP表示用計算 */ public void calculateHP() { countHP = percentHP; // プレイヤー情報取得 player = PlayerManager.GetPlayer(0); // 現在の割合を取得 percentHP = (float) player.GetHP() / (float) player.GetMaxHP(); // いくつ減らすか計算 countHP -= percentHP; calculateHP = false; stopHP = false; }
/** calculateChakra チャクラ表示用計算 */ public void calculateChakra() { countChakra = percentChakra; // プレイヤー情報取得 player = PlayerManager.GetPlayer(0); // 現在の割合を取得 percentChakra = (float) player.GetChakra() / (float) player.GetMaxChakra(); // いくつ減らすか計算 countChakra -= percentChakra; calculateChakra = false; stopChakra = false; }
@Override public void onApplicationEvent(AbstractSubProtocolEvent event) { MessageHeaders headers = event.getMessage().getHeaders(); Principal user = SimpMessageHeaderAccessor.getUser(headers); if (event instanceof SessionConnectEvent) { String id = SimpMessageHeaderAccessor.getSessionId(headers); playerManager.addPlayer(id, user.getName()); messagingTemplate.convertAndSend( "/topic/player/join", PlayerEntry.create(user.getName(), PlayerEntry.State.ACTIVE)); } else if (event instanceof SessionDisconnectEvent) { SessionDisconnectEvent disconnectEvent = (SessionDisconnectEvent) event; playerManager.removePlayer(disconnectEvent.getSessionId()); messagingTemplate.convertAndSend( "/topic/player/leave", PlayerEntry.create(user.getName(), PlayerEntry.State.DETACHED)); } }
@Override public void onDisable() { try { am.save(); } catch (IOException ex) { Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); } if (spawn != null) { for (Player player : getServer().getOnlinePlayers()) { player.teleport(spawn); pm.backToNormal(player); } } }
public void b(EntityPlayer entityplayer) { if (this.b.contains(entityplayer)) { entityplayer.netServerHandler.sendPacket( new Packet51MapChunk( PlayerManager.a(this.playerManager).getChunkAt(this.location.x, this.location.z), true, 0)); this.b.remove(entityplayer); entityplayer.chunkCoordIntPairQueue.remove(this.location); // Forge start MinecraftForge.EVENT_BUS.post(new ChunkWatchEvent.UnWatch(this.location, entityplayer)); // Forge end if (this.b.isEmpty()) { long i = (long) this.location.x + 2147483647L | (long) this.location.z + 2147483647L << 32; PlayerManager.b(this.playerManager).remove(i); if (this.dirtyCount > 0) { PlayerManager.c(this.playerManager).remove(this); } this.playerManager.a().chunkProviderServer.queueUnload(this.location.x, this.location.z); } } }
private void handleAlias(Player player, String alias, String message) { ChatPlayer cp = PlayerManager.getPlayer(player.getName(), plugin.name); if (cp.modes.contains(ChatPlayer.Mode.LOCKED)) { PluginUtil.send(cp.name, "You have been locked in your channel and may not change channels."); return; } String channel = aliases.get(alias); String read_perm = ChannelManager.getChannel(channel).read_permission; if (!read_perm.equals("") && !MCNSAChat3.permissions.has(player, "mcnsachat3.read." + read_perm)) { plugin .getLogger() .info( player.getName() + " attempted to read channel " + channel + " without permission!"); PluginUtil.send(player.getName(), "&cYou don't have permission to do that!"); return; } if (!message.trim().equals("")) { // send a message rather than changing String write_perm = ChannelManager.getChannel(channel).write_permission; if (!write_perm.equals("") && !MCNSAChat3.permissions.has(player, "mcnsachat3.write." + write_perm)) { plugin .getLogger() .info( player.getName() + " attempted to write to channel " + channel + " without permission!"); PluginUtil.send(player.getName(), "&cYou don't have permission to do that!"); return; } if (cp.modes.contains(ChatPlayer.Mode.MUTE) || ChannelManager.getChannel(channel).modes.contains(ChatChannel.Mode.MUTE)) { PluginUtil.send(cp.name, "You are not allowed to speak right now."); return; } plugin.chat.chat(cp, message, channel); if (MCNSAChat3.thread != null) MCNSAChat3.thread.write( new PlayerChatPacket(cp, message, channel, PlayerChatPacket.Type.CHAT)); return; } cp.changeChannels(channel.toLowerCase()); }
public void a(int i, int j, int k) { if (this.dirtyCount == 0) { PlayerManager.c(this.playerManager).add(this); } this.f |= 1 << (j >> 4); if (this.dirtyCount < 64) { short short1 = (short) (i << 12 | k << 8 | j); for (int l = 0; l < this.dirtyCount; ++l) { if (this.dirtyBlocks[l] == short1) { return; } } this.dirtyBlocks[this.dirtyCount++] = short1; } }
public PlayerInstance(PlayerManager playermanager, int i, int j) { this.playerManager = playermanager; this.b = new ArrayList(); this.dirtyBlocks = new short[64]; this.dirtyCount = 0; this.location = new ChunkCoordIntPair(i, j); // CraftBukkit start playermanager .a() .chunkProviderServer .getChunkAt( i, j, new Runnable() { public void run() { PlayerInstance.this.loaded = true; } }); // CraftBukkit end }
public void flagChunkForUpdate(int par1, int par2, int par3) { if (this.numberOfTilesToUpdate == 0) { PlayerManager.getChunkWatchersWithPlayers(this.thePlayerManager).add(this); } this.field_73260_f |= 1 << (par2 >> 4); // if (this.numberOfTilesToUpdate < 64) //Forge; Cache everything, so always run { short short1 = (short) (par1 << 12 | par3 << 8 | par2); for (int l = 0; l < this.numberOfTilesToUpdate; ++l) { if (this.locationOfBlockChange[l] == short1) { return; } } if (numberOfTilesToUpdate == locationOfBlockChange.length) { locationOfBlockChange = Arrays.copyOf(locationOfBlockChange, locationOfBlockChange.length << 1); } this.locationOfBlockChange[this.numberOfTilesToUpdate++] = short1; } }
public void a() { if (this.dirtyCount != 0) { int i; int j; int k; if (this.dirtyCount == 1) { i = this.location.x * 16 + (this.dirtyBlocks[0] >> 12 & 15); j = this.dirtyBlocks[0] & 255; k = this.location.z * 16 + (this.dirtyBlocks[0] >> 8 & 15); this.sendAll(new Packet53BlockChange(i, j, k, PlayerManager.a(this.playerManager))); if (PlayerManager.a(this.playerManager).isTileEntity(i, j, k)) { this.sendTileEntity(PlayerManager.a(this.playerManager).getTileEntity(i, j, k)); } } else { int l; if (this.dirtyCount == 64) { i = this.location.x * 16; j = this.location.z * 16; this.sendAll( new Packet51MapChunk( PlayerManager.a(this.playerManager).getChunkAt(this.location.x, this.location.z), (this.f == 0xFFFF), this .f)); // CraftBukkit - send everything (including biome) if all sections // flagged for (k = 0; k < 16; ++k) { if ((this.f & 1 << k) != 0) { l = k << 4; // Forge start // BugFix: 16 makes it load an extra chunk, which isn't associated with a player, // which makes it not unload unless a player walks near it. // ToDo: Find a way to efficiently clean abandoned chunks. // List list = PlayerManager.a(this.playerManager).getTileEntities(i, l, j, i + 16, l // + 16, j + 16); List list = PlayerManager.a(this.playerManager) .getTileEntities(i, l, j, i + 15, l + 16, j + 15); // Forge end for (int i1 = 0; i1 < list.size(); ++i1) { this.sendTileEntity((TileEntity) list.get(i1)); } } } } else { this.sendAll( new Packet52MultiBlockChange( this.location.x, this.location.z, this.dirtyBlocks, this.dirtyCount, PlayerManager.a(this.playerManager))); for (i = 0; i < this.dirtyCount; ++i) { j = this.location.x * 16 + (this.dirtyBlocks[i] >> 12 & 15); k = this.dirtyBlocks[i] & 255; l = this.location.z * 16 + (this.dirtyBlocks[i] >> 8 & 15); if (PlayerManager.a(this.playerManager).isTileEntity(j, k, l)) { this.sendTileEntity(PlayerManager.a(this.playerManager).getTileEntity(j, k, l)); } } } } this.dirtyCount = 0; this.f = 0; } }
public List<Artist> getArtists() { if (PlayerManager.isFiltering()) { return artistExpander.getFilteredCache(); } return artistExpander.getUnfilteredCache(); }
/** * add an active TriggerContext for a player * * @param player a bukkit player */ public void createContext(final Player player) { playerManager.createContext(getEditorPlayer(player)); }
/** * Get an instance of the wanted player * * @param player instance of bukkit player * @return */ public static synchronized ACPlayer getPlayer(final Player player) { return PlayerManager.getInstance().demandACPlayer(player); }
public int getEntityViewDistance() { return PlayerManager.getFurthestViewableBlock(this.getViewDistance()); }
@RequestMapping("/addAi") public @ResponseBody void addAi( @RequestBody com.scheible.risingempire.web.join.message.client.Player player) throws Exception { playerManager.addAi(player); }
@RequestMapping("/players") public @ResponseBody List<PlayerEntry> players() { return playerManager.getPlayerEntries(); }
/** * delete an active TriggerContext for a player * * @param player a bukkit player */ public void deleteContext(final Player player) { playerManager.cancelContext(getEditorPlayer(player)); }
public int func_72372_a() { return PlayerManager.func_72686_a(func_72395_o()); }
public void sendChunkUpdate() { if (this.numberOfTilesToUpdate != 0) { int i; int j; int k; if (this.numberOfTilesToUpdate == 1) { i = this.chunkLocation.chunkXPos * 16 + (this.locationOfBlockChange[0] >> 12 & 15); j = this.locationOfBlockChange[0] & 255; k = this.chunkLocation.chunkZPos * 16 + (this.locationOfBlockChange[0] >> 8 & 15); this.sendToAllPlayersWatchingChunk( new Packet53BlockChange(i, j, k, PlayerManager.getWorldServer(this.thePlayerManager))); if (PlayerManager.getWorldServer(this.thePlayerManager).blockHasTileEntity(i, j, k)) { this.sendTileToAllPlayersWatchingChunk( PlayerManager.getWorldServer(this.thePlayerManager).getBlockTileEntity(i, j, k)); } } else { int l; if (this.numberOfTilesToUpdate >= ForgeDummyContainer.clumpingThreshold) { i = this.chunkLocation.chunkXPos * 16; j = this.chunkLocation.chunkZPos * 16; this.sendToAllPlayersWatchingChunk( new Packet51MapChunk( PlayerManager.getWorldServer(this.thePlayerManager) .getChunkFromChunkCoords( this.chunkLocation.chunkXPos, this.chunkLocation.chunkZPos), false, this.field_73260_f)); /* Forge: Grabs ALL tile entities is costly on a modded server, only send needed ones for (k = 0; k < 16; ++k) { if ((this.field_73260_f & 1 << k) != 0) { l = k << 4; List list = PlayerManager.getWorldServer(this.thePlayerManager).getAllTileEntityInBox(i, l, j, i + 16, l + 16, j + 16); for (int i1 = 0; i1 < list.size(); ++i1) { this.sendTileToAllPlayersWatchingChunk((TileEntity)list.get(i1)); } } } */ } else { this.sendToAllPlayersWatchingChunk( new Packet52MultiBlockChange( this.chunkLocation.chunkXPos, this.chunkLocation.chunkZPos, this.locationOfBlockChange, this.numberOfTilesToUpdate, PlayerManager.getWorldServer(this.thePlayerManager))); } { // Forge: Send only the tile entities that are updated, Adding this brace lets us keep the // indent and the patch small for (i = 0; i < this.numberOfTilesToUpdate; ++i) { j = this.chunkLocation.chunkXPos * 16 + (this.locationOfBlockChange[i] >> 12 & 15); k = this.locationOfBlockChange[i] & 255; l = this.chunkLocation.chunkZPos * 16 + (this.locationOfBlockChange[i] >> 8 & 15); if (PlayerManager.getWorldServer(this.thePlayerManager).blockHasTileEntity(j, k, l)) { this.sendTileToAllPlayersWatchingChunk( PlayerManager.getWorldServer(this.thePlayerManager).getBlockTileEntity(j, k, l)); } } } } this.numberOfTilesToUpdate = 0; this.field_73260_f = 0; } }
/** * Get an instance of the wanted player * * @param name name of the player * @return */ public static synchronized ACPlayer getPlayer(final String name) { return PlayerManager.getInstance().demandACPlayer(name); }
public List<Album> getAlbums() { if (PlayerManager.isFiltering()) { return albumExpander.getFilteredCache(); } return albumExpander.getUnfilteredCache(); }
/** * Get all player having the select power * * @param power power to check * @return */ public static List<ACPlayer> getPlayers(final String power) { return PlayerManager.getInstance().getACPlayerHavingPower(power); }
/** * @param player a bukkit player * @return the EditorPlayer */ public EditorPlayer getEditorPlayer(final Player player) { return playerManager.getEditorPlayer(player); }