103 lines
4.9 KiB
Diff
103 lines
4.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Sotr <i@omc.hk>
|
|
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 7f3887b0894aca0f972922f434382646a6ad6174..4f74922bf0b364bf1ab84460f2a01302a1ea596c 100644
|
|
--- a/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
|
+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
|
@@ -192,9 +192,15 @@ public abstract class ChunkMapDistance {
|
|
while (longiterator.hasNext()) {
|
|
long j = longiterator.nextLong();
|
|
|
|
+ // Akarin start - remove stream
|
|
+ ArraySetSorted<Ticket<?>> 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) {
|
|
@@ -210,6 +216,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 6e77dc89f5441f0f483571fee9aa9f34b6d1dd1c..33097f23326a033bc82a64315e296c8990b28b7f 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityTNTPrimed.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityTNTPrimed.java
|
|
@@ -93,12 +93,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 bf9732058c7e55e8f1ed38b3b5e8831e6b21706c..ab6dcc3a19f4a1de86fe36802c13fc484cbb2e88 100644
|
|
--- a/src/main/java/net/minecraft/server/EntityVillager.java
|
|
+++ b/src/main/java/net/minecraft/server/EntityVillager.java
|
|
@@ -589,11 +589,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
|
|
}
|
|
}
|
|
}
|