EntityPlayerMP: Faster chunk sending (And this avoids thousands of useless chunk light updates on the client side)
This commit is contained in:
parent
10abac72b5
commit
bbfc5b9e94
1 changed files with 21 additions and 9 deletions
|
|
@ -151,16 +151,28 @@ public class EntityPlayerMP extends EntityPlayer implements ICrafting {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (var1 && !this.loadedChunks.isEmpty()) {
|
if (var1 && !this.loadedChunks.isEmpty()) {
|
||||||
ChunkCoordIntPair var7 = (ChunkCoordIntPair) this.loadedChunks.get(0);
|
// Patch start
|
||||||
if (var7 != null) {
|
HashSet<ChunkCoordIntPair> queue = new HashSet<>();
|
||||||
boolean var8 = false;
|
for (int count = 0; !this.loadedChunks.isEmpty() && count < 9; count++) {
|
||||||
if (this.playerNetServerHandler.getNumChunkDataPackets() < 4) {
|
//ChunkCoordIntPair var7 = (ChunkCoordIntPair) this.loadedChunks.get(0);
|
||||||
var8 = true;
|
ChunkCoordIntPair var7 = (ChunkCoordIntPair) this.loadedChunks.remove(0);
|
||||||
}
|
if (var7 != null) {
|
||||||
|
//boolean var8 = false;
|
||||||
|
//if (this.playerNetServerHandler.getNumChunkDataPackets() < 4) {
|
||||||
|
// var8 = true;
|
||||||
|
//}
|
||||||
|
|
||||||
if (var8) {
|
//if (var8) {
|
||||||
WorldServer var9 = this.mcServer.getWorldManager(this.dimension);
|
// WorldServer var9 = this.mcServer.getWorldManager(this.dimension);
|
||||||
this.loadedChunks.remove(var7);
|
// this.loadedChunks.remove(var7);
|
||||||
|
queue.add(var7);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!queue.isEmpty()) {
|
||||||
|
WorldServer var9 = this.mcServer.getWorldManager(this.dimension);
|
||||||
|
for (ChunkCoordIntPair var7 : queue) {
|
||||||
|
// Patch end
|
||||||
this.playerNetServerHandler.sendPacket(new Packet51MapChunk(var7.chunkXPos * 16, 0, var7.chunkZPos * 16, 16, 128, 16, var9));
|
this.playerNetServerHandler.sendPacket(new Packet51MapChunk(var7.chunkXPos * 16, 0, var7.chunkZPos * 16, 16, 128, 16, var9));
|
||||||
List var5 = var9.getTileEntityList(var7.chunkXPos * 16, 0, var7.chunkZPos * 16, var7.chunkXPos * 16 + 16, 128, var7.chunkZPos * 16 + 16);
|
List var5 = var9.getTileEntityList(var7.chunkXPos * 16, 0, var7.chunkZPos * 16, var7.chunkXPos * 16 + 16, 128, var7.chunkZPos * 16 + 16);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue