9
0
mirror of https://github.com/Winds-Studio/Leaf.git synced 2025-12-25 18:09:17 +00:00

Drop patch that causes performance regression

Originally vanilla logic is to use stream, and Mojang switched it to Guava's Collections2
since 1.21.4. It is much faster than using stream or manually adding to a new ArrayList.
Manually adding to a new ArrayList requires allocating a new object array. However, the Collections2
lazy handles filter condition on iteration, so much better.
This commit is contained in:
Dreeam
2025-08-04 18:46:50 +08:00
parent 212815e788
commit 9a4efaa230
212 changed files with 94 additions and 86 deletions

View File

@@ -3,6 +3,14 @@ From: Martijn Muijsers <martijnmuijsers@live.nl>
Date: Tue, 29 Nov 2022 23:30:38 +0100
Subject: [PATCH] Optimize player list for sending player info
Removed since Leaf 1.21.8, performance regression.
Originally vanilla logic is to use stream, and Mojang switched it to Guava's Collections2
since 1.21.4. It is much faster than using stream or manually adding to a new ArrayList.
Manually adding to a new ArrayList requires allocating a new object array. However, the Collections2
lazy handles filter condition on iteration, so much better.
The JMH benchmark of this patch can be found in SunBox's `CollectListWithCondition`
License: MIT (https://opensource.org/licenses/MIT)
Gale - https://galemc.org

View File

@@ -7,7 +7,7 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 79c88dae33c0b1f27064d388e4c6ec7501d3313e..fa6a565e308cdf356855172621dcd7d8c3237403 100644
index b5b3b705cd23aa3e71c09ab92ed7b446e42a6dca..e42938238c798db6fe2e71eec9afb5d8e28fd6cb 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -4873,6 +4873,16 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -28,7 +28,7 @@ index 79c88dae33c0b1f27064d388e4c6ec7501d3313e..fa6a565e308cdf356855172621dcd7d8
return this.chunkPosition;
}
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index 80e250ce17f315ddaa783624413397f56b52f5b9..ae2e0afb0c36fc5512dcea3d15997a737e91de11 100644
index a8cc23bf13883bd85209e7ae280e476e01a452a9..d20bba53f8616e5093babad0c52d2e4f9b3401f7 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -2129,8 +2129,17 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin

View File

@@ -14,7 +14,7 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 7dd599e229329aa3fad772a875688abba6bf7101..92b92476835d6de2a5db89529d58fd0b3067bac6 100644
index 366d476730923c70f6734e12b21ba3d7f9750643..adc430c3f36bda2d77b76ae7735ce4fe12e33974 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -236,6 +236,13 @@ public abstract class PlayerList {

View File

@@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index 470e9f7570d1fa6b1328052e59ecd1324ec58825..fb998898c33ee5ab48c0858a7487fa41492d2c45 100644
index 606d63577a241e3ea26ae24be903a91d03ef73c8..94cd410cde9bb4d09c30bd31046184846ee3503d 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -1094,6 +1094,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa

View File

@@ -23,7 +23,7 @@ The above copyright notice and this permission notice shall be included in all c
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index fb998898c33ee5ab48c0858a7487fa41492d2c45..8ca0b06c7eafc9d76311a186a971af09e1674f81 100644
index 94cd410cde9bb4d09c30bd31046184846ee3503d..e5a10873e2ee8e4f75861eee46dec16c701c086f 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -1141,6 +1141,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa

View File

@@ -45,7 +45,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java
index 5e01ae7c5d11777868d72589019ad11305c9acdd..1610ef636a0d93c1e07bad9e82ac4d9982c4e854 100644
index 6207ffb19f8d98ea6496e4d80495bf590b1be7ca..76b35938176a592beb8d490e11cf9970e5d09405 100644
--- a/net/minecraft/world/entity/player/Player.java
+++ b/net/minecraft/world/entity/player/Player.java
@@ -166,6 +166,7 @@ public abstract class Player extends LivingEntity {

View File

@@ -16,7 +16,7 @@ As part of: Akarin (https://github.com/Akarin-project/Akarin)
Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 41279a276622062338bef685491cc2959ecb2ff4..4a18c7d890cc10d5bb31610df62d20e80bf87aca 100644
index e42938238c798db6fe2e71eec9afb5d8e28fd6cb..0966cc6911d8b62ac82e42d17931ee614d11ea5a 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -2231,8 +2231,8 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess

View File

@@ -7,7 +7,7 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html)
Gale - https://galemc.org
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index 4a18c7d890cc10d5bb31610df62d20e80bf87aca..96341ee17591135d77d78c94814313b66eed4c3d 100644
index 0966cc6911d8b62ac82e42d17931ee614d11ea5a..85424913110a8a5e2059d767cf595a340e41ce37 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -1218,8 +1218,18 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess

View File

@@ -26,7 +26,7 @@ index 92a820d48057ffe2ef35919341b6cdf605ca939e..b9b1bf351070cd2a744cdb683974fb2a
double d1 = center.y - maxRange;
double d2 = center.x + maxRange;
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
index bbe123fd18fe97ae93bf562f32af73cdde722f70..feb4f7c70220e9c48a17a815631298bcb8366ded 100644
index ee2671510d46a92732934cd5df0a0e42c4cae1f6..f68b92a85b2223d22cb96ee0f8d588af5696b947 100644
--- a/net/minecraft/server/level/ServerPlayer.java
+++ b/net/minecraft/server/level/ServerPlayer.java
@@ -496,7 +496,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc

View File

@@ -18,7 +18,7 @@ this patch is focused around the sensors used for ai
delete the line of sight cache less often and use a faster nearby comparison
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index bc284bbd3d601b1e7c15f663cb65b85c24d85a41..fd775ce9a6ca84ce348d929f75f019581a437ea4 100644
index d20bba53f8616e5093babad0c52d2e4f9b3401f7..da46c16d9ce8c66ce02133d74b2a41f375398528 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -1033,15 +1033,16 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin

View File

@@ -22,7 +22,7 @@ and, in my opinion, worth the low risk of minor mob-spawning-related
inconsistencies.
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index 8ca0b06c7eafc9d76311a186a971af09e1674f81..4119cfb1de8bbb0c5c1287f70cffc6660dc9e8e4 100644
index e5a10873e2ee8e4f75861eee46dec16c701c086f..47e714fc564898f9a04a89a6b1b72f4c3adce2a0 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -286,6 +286,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa

View File

@@ -492,7 +492,7 @@ index 9da9ab3b835a8dcc7e1da286be1de88a3f0240fa..4b8c9aaf1d143bc38f52f646e4e73b56
for (ServerPlayer serverPlayer : players) {
diff --git a/net/minecraft/server/commands/GiveCommand.java b/net/minecraft/server/commands/GiveCommand.java
index adba92a9ebef64561147427d1339f70e2701d93c..cbe614bb66679f9bda3ecb13a034432fbac7317d 100644
index 4f56cdcf658234b1ca92d38c3df3d31e9be34a15..945d7c0b31fe9ac029e518af92eebd6e8018a69f 100644
--- a/net/minecraft/server/commands/GiveCommand.java
+++ b/net/minecraft/server/commands/GiveCommand.java
@@ -69,6 +69,7 @@ public class GiveCommand {
@@ -1570,7 +1570,7 @@ index f9fad100d3e5e4b44a5b0f88e288e6fac7a250f7..6d320ed179393e47398c44f2ba2b2285
}
} catch (AuthenticationUnavailableException var4) {
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 3d9301b68825a2be4ff6798bcf6e63d3c48908f5..f66425af98a38c1bbb11c52de96839faf42e26d0 100644
index adc430c3f36bda2d77b76ae7735ce4fe12e33974..6396083993d248683b887774d2db3f3f03825033 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -412,6 +412,7 @@ public abstract class PlayerList {
@@ -1589,7 +1589,7 @@ index 3d9301b68825a2be4ff6798bcf6e63d3c48908f5..f66425af98a38c1bbb11c52de96839fa
ServerLevel serverLevel = player.level();
player.awardStat(Stats.LEAVE_GAME);
// CraftBukkit start - Quitting must be before we do final save of data, in case plugins need to modify it
@@ -962,6 +964,20 @@ public abstract class PlayerList {
@@ -953,6 +955,20 @@ public abstract class PlayerList {
}
}
@@ -1610,7 +1610,7 @@ index 3d9301b68825a2be4ff6798bcf6e63d3c48908f5..f66425af98a38c1bbb11c52de96839fa
public void broadcastAll(Packet<?> packet, ResourceKey<Level> dimension) {
for (ServerPlayer serverPlayer : this.players) {
if (serverPlayer.level().dimension() == dimension) {
@@ -1046,6 +1062,7 @@ public abstract class PlayerList {
@@ -1037,6 +1053,7 @@ public abstract class PlayerList {
} else {
b = (byte)(24 + permLevel);
}
@@ -1618,7 +1618,7 @@ index 3d9301b68825a2be4ff6798bcf6e63d3c48908f5..f66425af98a38c1bbb11c52de96839fa
player.connection.send(new ClientboundEntityEventPacket(player, b));
}
@@ -1054,11 +1071,32 @@ public abstract class PlayerList {
@@ -1045,11 +1062,32 @@ public abstract class PlayerList {
player.getBukkitEntity().recalculatePermissions(); // CraftBukkit
this.server.getCommands().sendCommands(player);
} // Paper - Add sendOpLevel API

View File

@@ -7,7 +7,7 @@ Original license: MIT
Original project: https://github.com/PurpurMC/Purpur
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index 19e65eaf77dd8fa5eaa23e4db9af1adee7280fff..12e697a626ce68127ac2157fca0e5408beb13f0b 100644
index b4c4e18e27fd2f520c122cf3418c8861e60d90ab..7b4437c06c2ede0be7dd58b42863e88b4b205106 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -1840,7 +1840,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa

View File

@@ -7,7 +7,7 @@ This Check is added in 1.17.x -> 1.18.x that updated by Mojang.
By removing this check, it gives ability for hackers to use some modules of hack clients.
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 53200e2f90d76a54254f819a2f419e298975a367..1fda5f9d285a51fd642369b4cc32826c38019c69 100644
index a0941c15a9391f85af9fcb3784c66514b314f4dc..f20cb459f83f870e1c04ed1d83eee885619dfe57 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -2122,8 +2122,13 @@ public class ServerGamePacketListenerImpl

View File

@@ -21,7 +21,7 @@ index fb585637383db4592f97f0c9040ffa86afb43c6a..880bf83929e636872eeb53c5c3ec9357
// Paper start - rewrite chunk system
private ca.spottedleaf.moonrise.patches.chunk_system.player.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index f66425af98a38c1bbb11c52de96839faf42e26d0..97c12b55bec58ba63bd6dbe338944637dc8fc844 100644
index 6396083993d248683b887774d2db3f3f03825033..c315655501aa79333c4a1c5b58382f186df5f7a1 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -759,11 +759,11 @@ public abstract class PlayerList {

View File

@@ -97,7 +97,7 @@ index ca9ba2a2535eab66622230778efdf941f540f6d2..fa6095200243fafa796e49df3930c6d7
bridge.removeChannel(channel);
}
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 97c12b55bec58ba63bd6dbe338944637dc8fc844..100d121d2c26d7c21669d90f416f40a344c12bb9 100644
index c315655501aa79333c4a1c5b58382f186df5f7a1..8724b03cbe22492c17d8d8c60fbd06d60a32925a 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -346,6 +346,8 @@ public abstract class PlayerList {
@@ -117,7 +117,7 @@ index 97c12b55bec58ba63bd6dbe338944637dc8fc844..100d121d2c26d7c21669d90f416f40a3
// Paper end - Fix kick event leave message not being sent
org.purpurmc.purpur.task.BossBarTask.removeFromAll(player.getBukkitEntity()); // Purpur - Implement TPSBar
ServerLevel serverLevel = player.level();
@@ -1505,6 +1508,7 @@ public abstract class PlayerList {
@@ -1496,6 +1499,7 @@ public abstract class PlayerList {
serverPlayer.connection.send(clientboundUpdateRecipesPacket);
serverPlayer.getRecipeBook().sendInitialRecipeBook(serverPlayer);
}

View File

@@ -9,10 +9,10 @@ Original project: https://github.com/LeavesMC/Leaves
This patch is Powered by Xaero Map
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 100d121d2c26d7c21669d90f416f40a344c12bb9..137e9760fd02d479127fed9fa45e615d7c73864a 100644
index 8724b03cbe22492c17d8d8c60fbd06d60a32925a..a2d5b58eef4b6def8032d2421f8f3d34e64cb70e 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -1215,6 +1215,7 @@ public abstract class PlayerList {
@@ -1206,6 +1206,7 @@ public abstract class PlayerList {
player.connection.send(new ClientboundInitializeBorderPacket(worldBorder));
player.connection.send(new ClientboundSetTimePacket(level.getGameTime(), level.getDayTime(), level.getGameRules().getBoolean(GameRules.RULE_DAYLIGHT)));
player.connection.send(new ClientboundSetDefaultSpawnPositionPacket(level.getSharedSpawnPos(), level.getSharedSpawnAngle()));

View File

@@ -9,7 +9,7 @@ Original project: https://github.com/LeavesMC/Leaves
This patch is Powered by Syncmatica (https://github.com/End-Tech/syncmatica)
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index aefe56847cab77cfc83ef24e965a1be9d9454107..c6b871037f9dea8c6cbe9d0a2acff2cb2a960c09 100644
index f20cb459f83f870e1c04ed1d83eee885619dfe57..2e504082ba5d68874b2d56baa8676b840caf1abe 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -324,8 +324,11 @@ public class ServerGamePacketListenerImpl

View File

@@ -191,7 +191,7 @@ index 880bf83929e636872eeb53c5c3ec9357972267db..47d9495ea2cf347f268bd84bf731c5b5
private final PlayerAdvancements advancements;
private final ServerStatsCounter stats;
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 137e9760fd02d479127fed9fa45e615d7c73864a..59cbbdc86b3e93479f57027963ee06e006e03110 100644
index a2d5b58eef4b6def8032d2421f8f3d34e64cb70e..10502ed26662f13fafcafc644aecd98828ef4aec 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -131,6 +131,7 @@ public abstract class PlayerList {
@@ -375,7 +375,7 @@ index 137e9760fd02d479127fed9fa45e615d7c73864a..59cbbdc86b3e93479f57027963ee06e0
this.playersByName.remove(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot
this.removeFromSendAllPlayerInfoBuckets(player); // Gale - Purpur - spread out sending all player info
this.server.getCustomBossEvents().onPlayerDisconnect(player);
@@ -1101,7 +1247,7 @@ public abstract class PlayerList {
@@ -1092,7 +1238,7 @@ public abstract class PlayerList {
// Paper start - whitelist verify event / login event
public LoginResult canBypassFullServerLogin(final GameProfile profile, final LoginResult currentResult) {

View File

@@ -7,7 +7,7 @@ Co-authored by: Martijn Muijsers <martijnmuijsers@live.nl>
Co-authored by: MachineBreaker <machinebreaker>
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
index dd8c7afecd62edc2ab3933034bf469aea729be53..3bd42eb81eae3af9323021a5dc6edaa06dfcaead 100644
index bee67a32c63df0901b9a9b6b3f6e7a35bb87025e..191214e2c3019e9e55cc1d9658c2446557f40173 100644
--- a/net/minecraft/world/level/Level.java
+++ b/net/minecraft/world/level/Level.java
@@ -988,17 +988,19 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Fix sprint glitch
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index b536461c672c608aeeb690f41ea457fc57768e4f..34460363c4a5fbd274fee0f26d3731333c990072 100644
index f712d4445d8ffdc8dbd5f51c2a8104b097df11d1..199d97ceb0cbb87a9ed88d2f34da144539d11d4c 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -1419,7 +1419,8 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin

View File

@@ -243,7 +243,7 @@ index 04b8d4be8d7b36585041b5ff69251d4150e54cae..c73840d0a08366b2d2ee3286589ab4e4
@Override
diff --git a/org/purpurmc/purpur/PurpurConfig.java b/org/purpurmc/purpur/PurpurConfig.java
index ed777b003140486fd5d8d1db7af770301e30bec9..31450de492fbfdd83608ae668072bebd525db566 100644
index 88f737304d4f4a774956a1cc39b5c01c37a3891d..21fa7e0e6838bf9a81ee6faf19c944e69b1fe740 100644
--- a/org/purpurmc/purpur/PurpurConfig.java
+++ b/org/purpurmc/purpur/PurpurConfig.java
@@ -317,6 +317,7 @@ public class PurpurConfig {

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Remove useless creating stats json bases on player name logic
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 59cbbdc86b3e93479f57027963ee06e006e03110..b7690887a4902e83aebe928262664f57288f6183 100644
index 10502ed26662f13fafcafc644aecd98828ef4aec..cedc4531e9a072e953943596311b9695b45cb548 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -1554,6 +1554,8 @@ public abstract class PlayerList {
@@ -1545,6 +1545,8 @@ public abstract class PlayerList {
if (serverStatsCounter == null) {
File file = this.server.getWorldPath(LevelResource.PLAYER_STATS_DIR).toFile();
File file1 = new File(file, uuid + ".json");
@@ -17,7 +17,7 @@ index 59cbbdc86b3e93479f57027963ee06e006e03110..b7690887a4902e83aebe928262664f57
if (!file1.exists()) {
File file2 = new File(file, displayName + ".json"); // CraftBukkit
Path path = file2.toPath();
@@ -1561,6 +1563,8 @@ public abstract class PlayerList {
@@ -1552,6 +1554,8 @@ public abstract class PlayerList {
file2.renameTo(file1);
}
}

View File

@@ -152,7 +152,7 @@ index 2e504082ba5d68874b2d56baa8676b840caf1abe..e61ff0c5051a855e10310d4e6f76d79e
synchronized (this.lastSeenMessages) {
Optional var10000;
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index b7690887a4902e83aebe928262664f57288f6183..ae29ae36d5dc2ec19f1887e8d80532d4259b4622 100644
index cedc4531e9a072e953943596311b9695b45cb548..a332253d11564818a24d78e4dff262e55d7cc450 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -675,6 +675,7 @@ public abstract class PlayerList {

View File

@@ -138,10 +138,10 @@ index fa6095200243fafa796e49df3930c6d7ab2dcd84..84030c40f2f91b433b3ccd21e0367d2f
if (packet == null || this.processedDisconnect) { // Spigot
return;
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index ae29ae36d5dc2ec19f1887e8d80532d4259b4622..83a23e4b9d2b9a8429e55e6798ce1787f8b58680 100644
index a332253d11564818a24d78e4dff262e55d7cc450..47d0af92cb0d744f4188597ad3f4b096aca84a9e 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -1514,7 +1514,7 @@ public abstract class PlayerList {
@@ -1505,7 +1505,7 @@ public abstract class PlayerList {
public void broadcastChatMessage(PlayerChatMessage message, Predicate<ServerPlayer> shouldFilterMessageTo, @Nullable ServerPlayer sender, ChatType.Bound boundChatType, @Nullable Function<net.kyori.adventure.audience.Audience, Component> unsignedFunction) {
// Paper end
boolean flag = this.verifyChatTrusted(message);
@@ -150,7 +150,7 @@ index ae29ae36d5dc2ec19f1887e8d80532d4259b4622..83a23e4b9d2b9a8429e55e6798ce1787
OutgoingChatMessage outgoingChatMessage = OutgoingChatMessage.create(message);
boolean flag1 = false;
@@ -1539,6 +1539,7 @@ public abstract class PlayerList {
@@ -1530,6 +1530,7 @@ public abstract class PlayerList {
}
public boolean verifyChatTrusted(PlayerChatMessage message) {

View File

@@ -110,7 +110,7 @@ index 182c14b660f8860bed627eed4e01fd4002153e9a..686c031ec73acc80683aaa39a78fe922
@Nullable
diff --git a/net/minecraft/world/level/chunk/ChunkGenerator.java b/net/minecraft/world/level/chunk/ChunkGenerator.java
index 857aa6e29b57a0a8eea4d7c14971b9dde59bb0d0..23806f5f0c6c4ec9a86a6ea13b89b4f57372e6f1 100644
index 854578c7880dc124980142941ee471072668c8e2..b21822f069e112cdf16fe995485e2a5b1d229a8c 100644
--- a/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/net/minecraft/world/level/chunk/ChunkGenerator.java
@@ -342,7 +342,11 @@ public abstract class ChunkGenerator {
@@ -363,7 +363,7 @@ index ee0d9dddb36b6879fa113299e24f1aa3b2b151cc..6584c9320361dbbdea1899ab9e43b444
int i3 = this.spreadType.evaluate(worldgenRandom, i2);
int i4 = this.spreadType.evaluate(worldgenRandom, i2);
diff --git a/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java b/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java
index 1f939b325ec5291b3c4aabc4735c863f9436a6f8..ee60717e39928a9f89ad6c7a9b3b52ac156871e6 100644
index f2eb0572b9d97d97bc847082461515a852310dfc..14e352aedeeb1cf088278d9551d0204b06593ceb 100644
--- a/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java
+++ b/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java
@@ -119,8 +119,16 @@ public abstract class StructurePlacement {

View File

@@ -97,7 +97,7 @@ index 8516d47b0ba79d91638837199e7ae0fb6cb44a79..4f4b55dd099dd2c2fea118b18b535881
RandomSource fork();
diff --git a/net/minecraft/world/entity/Entity.java b/net/minecraft/world/entity/Entity.java
index ce331618d70d3dcfa576994e3f67f8c81fd6e8cc..2bed05da7e5ba52e85d437460679a7b81293fe5b 100644
index e0615ffe3e5cd317e5f05e167dbc857d5abaf50f..c44cc7107ff6cf1fd72e222773847deddf05e61c 100644
--- a/net/minecraft/world/entity/Entity.java
+++ b/net/minecraft/world/entity/Entity.java
@@ -155,7 +155,7 @@ public abstract class Entity implements SyncedDataHolder, Nameable, EntityAccess
@@ -110,7 +110,7 @@ index ce331618d70d3dcfa576994e3f67f8c81fd6e8cc..2bed05da7e5ba52e85d437460679a7b8
private static final class RandomRandomSource extends ca.spottedleaf.moonrise.common.util.ThreadUnsafeRandom {
public RandomRandomSource() {
diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java
index 3bd42eb81eae3af9323021a5dc6edaa06dfcaead..8ebfb2f5cf439190ea9bd4ad81d737fbcd4514c2 100644
index 191214e2c3019e9e55cc1d9658c2446557f40173..3f02f57eca3768d843e58dd2936f37c7f5743402 100644
--- a/net/minecraft/world/level/Level.java
+++ b/net/minecraft/world/level/Level.java
@@ -117,7 +117,7 @@ public abstract class Level implements LevelAccessor, UUIDLookup<Entity>, AutoCl
@@ -154,7 +154,7 @@ index bad1a03167f7586e5279592adcb43350c9b528cd..336d42d4e85716843633030ba1aa21b7
public final Biome.ClimateSettings climateSettings;
private final BiomeGenerationSettings generationSettings;
diff --git a/net/minecraft/world/level/chunk/ChunkGenerator.java b/net/minecraft/world/level/chunk/ChunkGenerator.java
index 23806f5f0c6c4ec9a86a6ea13b89b4f57372e6f1..e1ebbfab87aed9cc633f2fedb1e6edeca4ddc2ec 100644
index b21822f069e112cdf16fe995485e2a5b1d229a8c..a95a4b39604e3200b69093165a2c48efa3f165ab 100644
--- a/net/minecraft/world/level/chunk/ChunkGenerator.java
+++ b/net/minecraft/world/level/chunk/ChunkGenerator.java
@@ -455,7 +455,7 @@ public abstract class ChunkGenerator {
@@ -302,7 +302,7 @@ index 6584c9320361dbbdea1899ab9e43b444de5006a6..06083cc7612ef28bcd9264bb21ab0bbb
}
// Leaf end - Matter - Secure Seed
diff --git a/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java b/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java
index ee60717e39928a9f89ad6c7a9b3b52ac156871e6..daed7cc619d5a0b7d7a75e013cb72ed88d57de6c 100644
index 14e352aedeeb1cf088278d9551d0204b06593ceb..483f88767647358ec1297213953573fcb523b7a5 100644
--- a/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java
+++ b/net/minecraft/world/level/levelgen/structure/placement/StructurePlacement.java
@@ -124,7 +124,7 @@ public abstract class StructurePlacement {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable connection message
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 83a23e4b9d2b9a8429e55e6798ce1787f8b58680..5dadcca0e3f9923ff192ed742231c9b8ca5f015b 100644
index 47d0af92cb0d744f4188597ad3f4b096aca84a9e..ab79b6c3978e7a1b3935e18353841dfa44c9af29 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -445,7 +445,7 @@ public abstract class PlayerList {
@@ -35,7 +35,7 @@ index 83a23e4b9d2b9a8429e55e6798ce1787f8b58680..5dadcca0e3f9923ff192ed742231c9b8
this.cserver.getPluginManager().callEvent(playerQuitEvent);
player.getBukkitEntity().disconnect(playerQuitEvent.getQuitMessage());
@@ -1667,4 +1667,40 @@ public abstract class PlayerList {
@@ -1658,4 +1658,40 @@ public abstract class PlayerList {
public boolean isAllowCommandsForAllPlayers() {
return this.allowCommandsForAllPlayers;
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Remove stream in entity visible effects filter
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index d8c3f05d36916e122bfd47d761b4d91ab54fd8f5..a75f8f86ebd3bb73b5fbeb389137344256e1175f 100644
index 199d97ceb0cbb87a9ed88d2f34da144539d11d4c..8bac55cda0114f1ae27a9a03860a7b3fb6002e4a 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -1013,12 +1013,15 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Remove stream in matchingSlot
diff --git a/net/minecraft/world/item/enchantment/Enchantment.java b/net/minecraft/world/item/enchantment/Enchantment.java
index 7a620eb92b1e672cedd72ec4d986c01eba337686..183874d90d576d740c5d924accc5c0d7fdb8450c 100644
index 0460da0124d2c48b7fed45fa182537fd8059135d..08c49c078d03ff142cc74b7ee7103bf3ccf41dc4 100644
--- a/net/minecraft/world/item/enchantment/Enchantment.java
+++ b/net/minecraft/world/item/enchantment/Enchantment.java
@@ -126,7 +126,15 @@ public record Enchantment(Component description, Enchantment.EnchantmentDefiniti

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Replace Entity active effects map with optimized collection
Dreeam TODO: check this
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index a75f8f86ebd3bb73b5fbeb389137344256e1175f..1df69848c60a724b14bb6230a67ecd7cac1a0e03 100644
index 8bac55cda0114f1ae27a9a03860a7b3fb6002e4a..f30d24136e5f47c9be79e2c0b4b98d0e796d868b 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -208,6 +208,10 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin

View File

@@ -23,7 +23,7 @@ See the License for the specific language governing permissions and
limitations under the License.
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index 0c73d4919e58b9282a8a6fc24fc7ab8e87b97b74..070fc3b4ec0558c597eb411db5b22edc447fe976 100644
index e61ff0c5051a855e10310d4e6f76d79e9ab86716..1556b2d4a758e3a15b6c4468bf994ea3781a4958 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -342,17 +342,12 @@ public class ServerGamePacketListenerImpl

View File

@@ -6,7 +6,7 @@ Subject: [PATCH] Do not place player if the server is full
Fix https://github.com/PaperMC/Paper/issues/10668
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
index 5dadcca0e3f9923ff192ed742231c9b8ca5f015b..b5ecb22c95eca2ac3dc8d201e6964f2c34130ae9 100644
index ab79b6c3978e7a1b3935e18353841dfa44c9af29..92b37775282ca1f35edfc51305b98af5a9adc5cb 100644
--- a/net/minecraft/server/players/PlayerList.java
+++ b/net/minecraft/server/players/PlayerList.java
@@ -349,6 +349,13 @@ public abstract class PlayerList {
@@ -23,7 +23,7 @@ index 5dadcca0e3f9923ff192ed742231c9b8ca5f015b..b5ecb22c95eca2ac3dc8d201e6964f2c
org.bukkit.Location loc = ev.getSpawnLocation();
serverLevel = ((org.bukkit.craftbukkit.CraftWorld) loc.getWorld()).getHandle();
@@ -1248,7 +1255,7 @@ public abstract class PlayerList {
@@ -1239,7 +1246,7 @@ public abstract class PlayerList {
// Paper start - whitelist verify event / login event
public LoginResult canBypassFullServerLogin(final GameProfile profile, final LoginResult currentResult) {

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Configurable player knockback zombie
diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java
index 1df69848c60a724b14bb6230a67ecd7cac1a0e03..f63d0af0f6dc8a634f56f329d256affeaeac17da 100644
index f30d24136e5f47c9be79e2c0b4b98d0e796d868b..4d4efd979c4478c1571e7044f639afe08a7118d6 100644
--- a/net/minecraft/world/entity/LivingEntity.java
+++ b/net/minecraft/world/entity/LivingEntity.java
@@ -2111,6 +2111,8 @@ public abstract class LivingEntity extends Entity implements Attackable, Waypoin

View File

@@ -9,7 +9,7 @@ Original license: MIT
Original project: https://github.com/PurpurMC/Purpur
diff --git a/net/minecraft/server/level/ServerEntity.java b/net/minecraft/server/level/ServerEntity.java
index d605c4da4475fdc47a6d0c90fbca2713fc9d8fef..add696ec1835eb161d6fc94509a2a77febd23d69 100644
index d605c4da4475fdc47a6d0c90fbca2713fc9d8fef..0dee18df07c979da6125a4e7a955343e44d67ac2 100644
--- a/net/minecraft/server/level/ServerEntity.java
+++ b/net/minecraft/server/level/ServerEntity.java
@@ -225,6 +225,8 @@ public class ServerEntity {

View File

@@ -138,7 +138,7 @@ index 9c0c99b936b4a82ebfe924866e53ec71f7bbe9ad..2ccff968cb2065d34fad4d27573f9e30
.add(
new ClientboundUpdateAttributesPacket.AttributeSnapshot(
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
index 07943aa3be4222ab7a63b09a6625f7a003da8725..6c1a8925b1e13a0ebddc1b45a980fe8bdd8676cf 100644
index efb281f71ef5404fa40b7d04104b1c15d14e2c05..90409e9ef5cac2abe6748b723207c33224821194 100644
--- a/net/minecraft/server/MinecraftServer.java
+++ b/net/minecraft/server/MinecraftServer.java
@@ -1732,6 +1732,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -1218,7 +1218,7 @@ index 08d12a1acc3a672a77daa15f82392cd603c30283..b0ac6de9e0f15d234781fc43dd6fd1d5
}
}
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
index f70ad292afd21c534369f34d465c00591c71fc7a..0f95b746f5d728f923b1b558b584e2e1becf16eb 100644
index 1556b2d4a758e3a15b6c4468bf994ea3781a4958..581791bf2892715543f003c36e301e690cc393f1 100644
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
@@ -1928,7 +1928,7 @@ public class ServerGamePacketListenerImpl

Some files were not shown because too many files have changed in this diff Show More