private bool ReadPacket() { bool flag = false; try { net.minecraft.src.Packet packet = net.minecraft.src.Packet.ReadPacket(socketInputStream, netHandler.IsServerHandler()); if (packet != null) { field_28141_d[packet.GetPacketId()] += packet.GetPacketSize() + 1; readPackets.Enqueue(packet); flag = true; } else { NetworkShutdown("disconnect.endOfStream", new object[0]); } } catch (System.Exception exception) { if (!isTerminating) { OnNetworkError(exception); } return(false); } return(flag); }
public virtual void SendPacketToAllPlayers(net.minecraft.src.Packet packet) { for (int i = 0; i < playerEntities.Count; i++) { net.minecraft.src.EntityPlayerMP entityplayermp = (net.minecraft.src.EntityPlayerMP )playerEntities[i]; entityplayermp.netServerHandler.SendPacket(packet); } }
public override void RegisterPacket(net.minecraft.src.Packet packet) { if (disconnected) { return; } logger.Warning((new java.lang.StringBuilder()).Append(this.GetType().Name).Append(" wasn't prepared to deal with a ").Append(packet.GetType().Name).ToString()); KickPlayer("Protocol error, unexpected packet"); }
[MethodImpl(MethodImplOptions.Synchronized)] // CRAFTBUKKIT public virtual void SendPacketToTrackedPlayersAndTrackedEntity(net.minecraft.src.Entity entity, net.minecraft.src.Packet packet) { net.minecraft.src.EntityTrackerEntry entitytrackerentry = (net.minecraft.src.EntityTrackerEntry )trackedEntityHashTable.Lookup(entity.entityId); if (entitytrackerentry != null) { entitytrackerentry.SendPacketToTrackedPlayersAndTrackedEntity(packet); } }
private void UpdateTileEntity(net.minecraft.src.TileEntity tileentity) { if (tileentity != null) { net.minecraft.src.Packet packet = tileentity.GetDescriptionPacket(); if (packet != null) { SendPacketToPlayersInInstance(packet); } } }
public virtual void SendPacketToPlayersInInstance(net.minecraft.src.Packet packet ) { for (int i = 0; i < players.Count; i++) { net.minecraft.src.EntityPlayerMP entityplayermp = (net.minecraft.src.EntityPlayerMP )players[i]; if (entityplayermp.playerChunkCoordIntPairs.Contains(location)) { entityplayermp.netServerHandler.SendPacket(packet); } } }
public virtual bool SendPacketToPlayer(string s, net.minecraft.src.Packet packet) { net.minecraft.src.EntityPlayerMP entityplayermp = GetPlayerEntity(s); if (entityplayermp != null) { entityplayermp.netServerHandler.SendPacket(packet); return(true); } else { return(false); } }
public virtual void SendPacketToAllPlayersInDimension(net.minecraft.src.Packet packet , int i) { for (int j = 0; j < playerEntities.Count; j++) { net.minecraft.src.EntityPlayerMP entityplayermp = (net.minecraft.src.EntityPlayerMP )playerEntities[j]; if (entityplayermp.dimension == i) { entityplayermp.netServerHandler.SendPacket(packet); } } }
public virtual void AddToSendQueue(net.minecraft.src.Packet packet) { if (isServerTerminating) { return; } lock (sendQueueLock) { sendQueueByteLength += packet.GetPacketSize() + 1; if (packet.isChunkDataPacket) { chunkDataPackets.Enqueue(packet); } else { dataPackets.Enqueue(packet); } } }
/// <exception cref="System.IO.IOException"/> public static net.minecraft.src.Packet ReadPacket(java.io.DataInputStream datainputstream, bool flag) { int i = 0; net.minecraft.src.Packet packet = null; try { i = datainputstream.Read(); if (i == -1) { return(null); } if (flag && !serverPacketIdList.Contains(i) || !flag && !clientPacketIdList.Contains(i)) { throw new System.IO.IOException((new java.lang.StringBuilder()).Append("Bad packet id ").Append(i).ToString()); } packet = GetNewPacket(i); if (packet == null) { throw new System.IO.IOException((new java.lang.StringBuilder()).Append("Bad packet id ").Append(i).ToString()); } packet.ReadPacketData(datainputstream); } catch (System.IO.EndOfStreamException e) { System.Console.Out.WriteLine("Reached end of stream"); return(null); } net.minecraft.src.PacketCounter packetcounter = (net.minecraft.src.PacketCounter) packetStats[i]; if (packetcounter == null) { packetcounter = new net.minecraft.src.PacketCounter(null); packetStats[i] = packetcounter; } packetcounter.AddPacket(packet.GetPacketSize()); totalPacketsCount++; if (totalPacketsCount % 1000 != 0) { } return(packet); }
public virtual void SendPacket(net.minecraft.src.Packet packet) { netManager.AddToSendQueue(packet); //TODO: Craftbukkit -- reroute chunk compression to another thread //field_22004_g = field_15_f; // CRAFTBUKKIT -- e85c99289cd0f56cb9aff8e673f3e87664cc4321 fix latency issues }
/// <exception cref="System.IO.IOException"/> public static void WritePacket(net.minecraft.src.Packet packet, java.io.DataOutputStream dataoutputstream) { dataoutputstream.Write(packet.GetPacketId()); packet.WritePacketData(dataoutputstream); }
private bool SendPacket() { bool flag = false; try { Packet ppeek; bool peek; bool t = false; peek = dataPackets.TryPeek(out ppeek); if (dataPackets.Count > 0 && peek && (chunkDataSendCounter == 0 || Sharpen.Runtime.CurrentTimeMillis() - ((net.minecraft.src.Packet)ppeek).creationTimeMillis >= (long)chunkDataSendCounter)) { net.minecraft.src.Packet packet = null; try { lock (sendQueueLock) { t = dataPackets.TryDequeue(out packet); //packet = (net.minecraft.src.Packet)dataPackets.(0); if (t) { sendQueueByteLength -= packet.GetPacketSize() + 1; } } if (t) { net.minecraft.src.Packet.WritePacket(packet, socketOutputStream); field_28140_e[packet.GetPacketId()] += packet.GetPacketSize() + 1; flag = true; } } finally { if (t && packet != null && packet is IDisposable) { ((IDisposable)packet).Dispose(); } } } peek = chunkDataPackets.TryPeek(out ppeek); if (field_20175_w-- <= 0 && chunkDataPackets.Count > 0 && peek && (chunkDataSendCounter == 0 || Sharpen.Runtime.CurrentTimeMillis() - ((net.minecraft.src.Packet)ppeek).creationTimeMillis >= (long)chunkDataSendCounter)) { net.minecraft.src.Packet packet1 = null; try { lock (sendQueueLock) { t = chunkDataPackets.TryDequeue(out packet1); //packet1 = (net.minecraft.src.Packet) if (t) { sendQueueByteLength -= packet1.GetPacketSize() + 1; } } if (t) { net.minecraft.src.Packet.WritePacket(packet1, socketOutputStream); field_28140_e[packet1.GetPacketId()] += packet1.GetPacketSize() + 1; field_20175_w = 0; flag = true; } } finally { if (t && packet1 != null && packet1 is IDisposable) { ((IDisposable)packet1).Dispose(); } } } } catch (System.Exception exception) { if (exception is ThreadInterruptedException) { throw; //SHARP: Not sure if this 'fixes' ThreadInterruptedExceptions, just allows it to be ignored by the thread (as it's being caught in NetworkWriterThread). } if (!isTerminating) { OnNetworkError(exception); } return(false); } return(flag); }
public virtual void SendPacketToPlayersAroundPoint(net.minecraft.src.EntityPlayer entityplayer, double pointX, double pointY, double pointZ, double radius, int dimension, net.minecraft.src.Packet packet) { for (int j = 0; j < playerEntities.Count; j++) { net.minecraft.src.EntityPlayerMP entityplayermp = (net.minecraft.src.EntityPlayerMP )playerEntities[j]; if (entityplayermp == entityplayer || entityplayermp.dimension != dimension) { continue; } double deltaX = pointX - entityplayermp.posX; double deltaY = pointY - entityplayermp.posY; double deltaZ = pointZ - entityplayermp.posZ; if (deltaX * deltaX + deltaY * deltaY + deltaZ * deltaZ < radius * radius) { entityplayermp.netServerHandler.SendPacket(packet); } } }
public virtual void SendPacketToPlayersAroundPoint(double x, double y, double z , double radius, int dimension, net.minecraft.src.Packet packet) { SendPacketToPlayersAroundPoint(null, x, y, z, radius, dimension, packet); }
public virtual void OnUpdateEntity(bool flag) { base.OnUpdate(); for (int i = 0; i < inventory.GetSizeInventory(); i++) { net.minecraft.src.ItemStack itemstack = inventory.GetStackInSlot(i); if (itemstack == null || !net.minecraft.src.Item.itemsList[itemstack.itemID].Func_28019_b () || netServerHandler.GetNumChunkDataPackets() > 2) { continue; } net.minecraft.src.Packet packet = ((net.minecraft.src.ItemMapBase)net.minecraft.src.Item .itemsList[itemstack.itemID]).Func_28022_b(itemstack, worldObj, this); if (packet != null) { netServerHandler.SendPacket(packet); } } if (flag && chunkCoordIntPairQueue.Count > 0) { net.minecraft.src.ChunkCoordIntPair chunkcoordintpair = (net.minecraft.src.ChunkCoordIntPair )chunkCoordIntPairQueue[0]; if (chunkcoordintpair != null) { bool flag1 = false; if (netServerHandler.GetNumChunkDataPackets() < 4) { flag1 = true; } if (flag1) { net.minecraft.src.WorldServer worldserver = mcServer.GetWorldServer(dimension); chunkCoordIntPairQueue.Remove(chunkcoordintpair); netServerHandler.SendPacket(new net.minecraft.src.Packet51MapChunk(chunkcoordintpair .X * 16, 0, chunkcoordintpair.Z * 16, 16, 128, 16, worldserver)); System.Collections.Generic.List <TileEntity> list = worldserver.GetTileEntityList(chunkcoordintpair.X * 16, 0, chunkcoordintpair.Z * 16, chunkcoordintpair.X * 16 + 16 , 128, chunkcoordintpair.Z * 16 + 16); for (int j = 0; j < list.Count; j++) { GetTileEntityInfo((net.minecraft.src.TileEntity)list[j]); } } } } if (inPortal) { if (mcServer.propertyManager.GetBoolean("allow-nether", true)) { if (currentCraftingInventory != personalCraftingInventory) { UsePersonalCraftingInventory(); } if (ridingEntity != null) { MountEntity(ridingEntity); } else { timeInPortal += 0.0125F; if (timeInPortal >= 1.0F) { timeInPortal = 1.0F; timeUntilPortal = 10; mcServer.serverConfigurationManager.SendPlayerToOtherDimension(this); } } inPortal = false; } } else { if (timeInPortal > 0.0F) { timeInPortal -= 0.05F; } if (timeInPortal < 0.0F) { timeInPortal = 0.0F; } } if (timeUntilPortal > 0) { timeUntilPortal--; } if (health != lastHealth) { netServerHandler.SendPacket(new net.minecraft.src.Packet8UpdateHealth(health )); lastHealth = health; } }
public override void RegisterPacket(net.minecraft.src.Packet packet) { KickUser("Protocol error"); }