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 d1c2f2bbfc05137727db49b41ace1cb9e25b9b62..5b63792d0e27c8801de3ca1658baf736f61473f7 100644
|
|
--- a/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
|
+++ b/src/main/java/net/minecraft/server/ChunkMapDistance.java
|
|
@@ -188,9 +188,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) {
|
|
@@ -206,6 +212,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 9c31edade247baac6811ef3ec98e88a332bcffba..eb3f45d8b707002ebeca20a6857ed41473cdeb3e 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 82662753b2659a71462dcb26250b11ada0527ad1..97448cb46df42ec4bcfea28c36a3050e8ff96a83 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
|
|
}
|
|
}
|
|
}
|