From 6c78e211340d417d966f0ac836db8fac179b93f4 Mon Sep 17 00:00:00 2001 From: Sotr Date: Wed, 15 Apr 2020 22:45:48 +0700 Subject: [PATCH] Remove a few more streams diff --git a/src/main/java/net/minecraft/server/ChunkMapDistance.java b/src/main/java/net/minecraft/server/ChunkMapDistance.java index 13d113aee5..1890fad9ed 100644 --- a/src/main/java/net/minecraft/server/ChunkMapDistance.java +++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java @@ -108,9 +108,15 @@ public abstract class ChunkMapDistance { while (longiterator.hasNext()) { long j = longiterator.nextLong(); + // Akarin start - remove stream + ArraySetSorted> sorted = this.tickets.get(j); + /* if (this.e(j).stream().anyMatch((ticket) -> { return ticket.getTicketType() == TicketType.PLAYER; })) { + */ + Runnable runnable = () -> { + // Akarin end PlayerChunk playerchunk = playerchunkmap.getUpdatingChunk(j); if (playerchunk == null) { @@ -126,6 +132,22 @@ public abstract class ChunkMapDistance { }); }); } + // Akarin start - remove stream + ; // end runnable + + if (sorted == null) { + sorted = ArraySetSorted.a(4); + this.tickets.put(j, sorted); + + } else { + for (Ticket ticket : sorted) { + if (ticket.getTicketType() == TicketType.PLAYER) { + runnable.run(); + break; // run for only once + } + } + } + // Akarin end } this.l.clear(); diff --git a/src/main/java/net/minecraft/server/EntityTNTPrimed.java b/src/main/java/net/minecraft/server/EntityTNTPrimed.java index 9c31edade2..eb3f45d8b7 100644 --- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java +++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java @@ -92,12 +92,23 @@ public class EntityTNTPrimed extends Entity { PacketPlayOutEntityVelocity velocityPacket = new PacketPlayOutEntityVelocity(this); PacketPlayOutEntityTeleport positionPacket = new PacketPlayOutEntityTeleport(this); + // Akarin start - remove stream + /* ete.trackedPlayers.stream() .filter(viewer -> (viewer.locX() - this.locX()) * (viewer.locY() - this.locY()) * (viewer.locZ() - this.locZ()) < 16 * 16) .forEach(viewer -> { viewer.playerConnection.sendPacket(velocityPacket); viewer.playerConnection.sendPacket(positionPacket); }); + */ + + for (EntityPlayer viewer : ete.trackedPlayers) { + if ((viewer.locX() - this.locX()) * (viewer.locY() - this.locY()) * (viewer.locZ() - this.locZ()) < 16 * 16) { + viewer.playerConnection.sendPacket(velocityPacket); + viewer.playerConnection.sendPacket(positionPacket); + } + } + // Akarin end } } // Paper end diff --git a/src/main/java/net/minecraft/server/EntityVillager.java b/src/main/java/net/minecraft/server/EntityVillager.java index a7a07ffc43..c9f0f7787f 100644 --- a/src/main/java/net/minecraft/server/EntityVillager.java +++ b/src/main/java/net/minecraft/server/EntityVillager.java @@ -548,11 +548,20 @@ public class EntityVillager extends EntityVillagerAbstract implements Reputation if (optional.isPresent()) { WorldServer worldserver = (WorldServer) this.world; + // Akarin start - remote stream + /* ((List) optional.get()).stream().filter((entityliving) -> { return entityliving instanceof ReputationHandler; }).forEach((entityliving) -> { worldserver.a(ReputationEvent.d, entity, (ReputationHandler) entityliving); }); + */ + + for (EntityLiving each : optional.get()) { + if (each instanceof ReputationHandler) + worldserver.a(ReputationEvent.d, entity, (ReputationHandler) each); + } + // Akarin end } } } -- 2.25.1.windows.1