Skip to content

Commit dcb7016

Browse files
committed
(Untested) Config API new patches
1 parent 8b0cd21 commit dcb7016

15 files changed

+459
-470
lines changed

paper-server/patches/features/0001-Optimize-Network-Manager-and-add-advanced-packet-sup.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ and then catch exceptions and close if they fire.
2828
Part of this commit was authored by: Spottedleaf, sandtechnology
2929

3030
diff --git a/net/minecraft/network/Connection.java b/net/minecraft/network/Connection.java
31-
index 42f44c7cb0bd55ddfacd18acb0e596e7a953870e..2040b9555c430420a8a8697cc131d42eafb96fa1 100644
31+
index adf4f84e421f3ed895a868719c3b054288cedf77..50ea7c655938071d58e1466565c06a821750b43d 100644
3232
--- a/net/minecraft/network/Connection.java
3333
+++ b/net/minecraft/network/Connection.java
3434
@@ -85,7 +85,7 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
@@ -41,9 +41,9 @@ index 42f44c7cb0bd55ddfacd18acb0e596e7a953870e..2040b9555c430420a8a8697cc131d42e
4141
public SocketAddress address;
4242
// Spigot start
4343
@@ -145,6 +145,10 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
44-
}
4544
// Paper end - packet limiter
4645
@Nullable public SocketAddress haProxyAddress; // Paper - Add API to get player's proxy address
46+
public @Nullable net.minecraft.server.level.ServerPlayer savedPlayerForLoginEventLegacy; // Paper - playerloginevent
4747
+ // Paper start - Optimize network
4848
+ public boolean isPending = true;
4949
+ public boolean queueImmunity;

paper-server/patches/features/0005-Use-Velocity-compression-and-cipher-natives.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ index bc674b08a41d5529fe06c6d3f077051cf4138f73..ea8a894158c44c2e7943dea43ecd8e1f
269269
+ // Paper end - Use Velocity cipher
270270
}
271271
diff --git a/net/minecraft/network/Connection.java b/net/minecraft/network/Connection.java
272-
index 2040b9555c430420a8a8697cc131d42eafb96fa1..4ed9611994c5c8da01fede690197527c5b3a5731 100644
272+
index 50ea7c655938071d58e1466565c06a821750b43d..85a796480c823bb210c78baadd5aa36eec80e04a 100644
273273
--- a/net/minecraft/network/Connection.java
274274
+++ b/net/minecraft/network/Connection.java
275275
@@ -772,11 +772,22 @@ public class Connection extends SimpleChannelInboundHandler<Packet<?>> {
@@ -336,10 +336,10 @@ index 7de11ba404f0b60e7f7b7c16954811a343688219..bd07e6a5aa1883786d789ea71711a0c0
336336
this.channels
337337
.add(
338338
diff --git a/net/minecraft/server/network/ServerLoginPacketListenerImpl.java b/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
339-
index 5d48487568994860c153351ad4c6c33bc8aa5309..7950f4f88d8a83ed5610b7af4e134557d32da3f0 100644
339+
index 5ede11aa202c67cdc27eaaa314fc69456ec7113e..5c816eaf90677d7624e1f24327073b01a400fc4f 100644
340340
--- a/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
341341
+++ b/net/minecraft/server/network/ServerLoginPacketListenerImpl.java
342-
@@ -275,11 +275,9 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
342+
@@ -243,11 +243,9 @@ public class ServerLoginPacketListenerImpl implements ServerLoginPacketListener,
343343
}
344344

345345
SecretKey secretKey = packet.getSecretKey(_private);

paper-server/patches/features/0015-Moonrise-optimisation-patches.patch

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27565,7 +27565,7 @@ index fe9b4484d683fe48f435a053c9c90557fdf80e7b..8afe96bfdc37e57129f1bb4af5b6d5cc
2756527565
}
2756627566

2756727567
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
27568-
index a8c73bdf8fb130eed8922cb537a35cda07e66da5..3e73c69c9db8cbded28a001b20d9989acb11c638 100644
27568+
index a03dae93819114fa2b4ba5899b94a3aad6939581..ffd53c8fff094042e148172b1e029ceaadbfec51 100644
2756927569
--- a/net/minecraft/server/level/ServerPlayer.java
2757027570
+++ b/net/minecraft/server/level/ServerPlayer.java
2757127571
@@ -187,7 +187,7 @@ import net.minecraft.world.scores.Team;
@@ -27577,7 +27577,7 @@ index a8c73bdf8fb130eed8922cb537a35cda07e66da5..3e73c69c9db8cbded28a001b20d9989a
2757727577
private static final Logger LOGGER = LogUtils.getLogger();
2757827578
private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_XZ = 32;
2757927579
private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10;
27580-
@@ -423,6 +423,36 @@ public class ServerPlayer extends Player {
27580+
@@ -422,6 +422,36 @@ public class ServerPlayer extends Player {
2758127581
public @Nullable String clientBrandName = null; // Paper - Brand support
2758227582
public @Nullable org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - Add API for quit reason; there are a lot of changes to do if we change all methods leading to the event
2758327583

@@ -28202,10 +28202,10 @@ index b30f56fbc1fd17259a1d05dc9155fffcab292ca1..11fed81a4696ba18440e755c3b8a5ca3
2820228202
this.generatingStep = generatingStep;
2820328203
this.cache = cache;
2820428204
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
28205-
index 73717609fccd9af12e2cc39824106f49426b581c..72524ff3399a4477dfa3db2f4e79bb14f6519a8b 100644
28205+
index abfb1cbf575c38442177fb1fdc030af23e3ed426..8069714955342fc6cf7c4f7a7faf309bc1332f6e 100644
2820628206
--- a/net/minecraft/server/players/PlayerList.java
2820728207
+++ b/net/minecraft/server/players/PlayerList.java
28208-
@@ -1321,7 +1321,7 @@ public abstract class PlayerList {
28208+
@@ -1283,7 +1283,7 @@ public abstract class PlayerList {
2820928209

2821028210
public void setViewDistance(int viewDistance) {
2821128211
this.viewDistance = viewDistance;
@@ -28214,7 +28214,7 @@ index 73717609fccd9af12e2cc39824106f49426b581c..72524ff3399a4477dfa3db2f4e79bb14
2821428214

2821528215
for (ServerLevel serverLevel : this.server.getAllLevels()) {
2821628216
if (serverLevel != null) {
28217-
@@ -1332,7 +1332,7 @@ public abstract class PlayerList {
28217+
@@ -1294,7 +1294,7 @@ public abstract class PlayerList {
2821828218

2821928219
public void setSimulationDistance(int simulationDistance) {
2822028220
this.simulationDistance = simulationDistance;

paper-server/patches/features/0023-Incremental-chunk-and-player-saving.patch

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Subject: [PATCH] Incremental chunk and player saving
55

66

77
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
8-
index 00f7f4356d6bffdd31f58b9d798c755edd9cd3ff..ea85cac4a41075efe8525c40755e7ebac6ca9dea 100644
8+
index 094ef7f54ad71795a2d8c2a8d03a32bef6ff2164..79bc1b7d9f640d2322814177eb3e921da8671e87 100644
99
--- a/net/minecraft/server/MinecraftServer.java
1010
+++ b/net/minecraft/server/MinecraftServer.java
1111
@@ -952,7 +952,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
@@ -50,7 +50,7 @@ index 00f7f4356d6bffdd31f58b9d798c755edd9cd3ff..ea85cac4a41075efe8525c40755e7eba
5050
ProfilerFiller profilerFiller = Profiler.get();
5151
this.runAllTasks(); // Paper - move runAllTasks() into full server tick (previously for timings)
5252
diff --git a/net/minecraft/server/level/ServerLevel.java b/net/minecraft/server/level/ServerLevel.java
53-
index debc511cf18d0be813803c200bd1cf0b07ba7974..2a4a40976215ea858c562c3f530db378896c6fcb 100644
53+
index 32db2b9e375c12cbf7abab69cc01e8ac2c7c3b6e..d50d2928ad9f8b34a14621b1fe5c188547e04bd1 100644
5454
--- a/net/minecraft/server/level/ServerLevel.java
5555
+++ b/net/minecraft/server/level/ServerLevel.java
5656
@@ -1317,6 +1317,28 @@ public class ServerLevel extends Level implements ServerEntityGetter, WorldGenLe
@@ -83,7 +83,7 @@ index debc511cf18d0be813803c200bd1cf0b07ba7974..2a4a40976215ea858c562c3f530db378
8383
// Paper start - add close param
8484
this.save(progress, flush, skipSave, false);
8585
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
86-
index bc901bc689c2690ac19e590bff1ae612b7071ee9..8e7ee4dc951eb53ccf65ab71214a0b89bd932ba0 100644
86+
index ffd53c8fff094042e148172b1e029ceaadbfec51..642ae91abed7b8c9d8afaef84764921808687420 100644
8787
--- a/net/minecraft/server/level/ServerPlayer.java
8888
+++ b/net/minecraft/server/level/ServerPlayer.java
8989
@@ -189,6 +189,7 @@ import org.slf4j.Logger;
@@ -95,7 +95,7 @@ index bc901bc689c2690ac19e590bff1ae612b7071ee9..8e7ee4dc951eb53ccf65ab71214a0b89
9595
private static final int NEUTRAL_MOB_DEATH_NOTIFICATION_RADII_Y = 10;
9696
private static final int FLY_STAT_RECORDING_SPEED = 25;
9797
diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java
98-
index 72524ff3399a4477dfa3db2f4e79bb14f6519a8b..6e22aedd36add8e39a82248193f324b36dfa27b5 100644
98+
index 8069714955342fc6cf7c4f7a7faf309bc1332f6e..fec8e0824de7dfdc959248b855af0362e0f77596 100644
9999
--- a/net/minecraft/server/players/PlayerList.java
100100
+++ b/net/minecraft/server/players/PlayerList.java
101101
@@ -486,6 +486,7 @@ public abstract class PlayerList {
@@ -106,7 +106,7 @@ index 72524ff3399a4477dfa3db2f4e79bb14f6519a8b..6e22aedd36add8e39a82248193f324b3
106106
this.playerIo.save(player);
107107
ServerStatsCounter serverStatsCounter = player.getStats(); // CraftBukkit
108108
if (serverStatsCounter != null) {
109-
@@ -1068,9 +1069,23 @@ public abstract class PlayerList {
109+
@@ -1030,9 +1031,23 @@ public abstract class PlayerList {
110110
}
111111

112112
public void saveAll() {

paper-server/patches/features/0025-Optional-per-player-mob-spawns.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ index 5d63bf024cbcbd2f627c64fee77553c9a512bd15..f863377a807b672f49f7140688f378ec
7878
profiler.popPush("tickSpawningChunks");
7979

8080
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
81-
index 8e7ee4dc951eb53ccf65ab71214a0b89bd932ba0..73a450e045eba5dbfc7a4e861e4c614c8f60d6b4 100644
81+
index 642ae91abed7b8c9d8afaef84764921808687420..3202b27426c8375a1f73818f169094f6b9599f7a 100644
8282
--- a/net/minecraft/server/level/ServerPlayer.java
8383
+++ b/net/minecraft/server/level/ServerPlayer.java
8484
@@ -403,6 +403,10 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -90,8 +90,8 @@ index 8e7ee4dc951eb53ccf65ab71214a0b89bd932ba0..73a450e045eba5dbfc7a4e861e4c614c
9090
+ public final int[] mobCounts = new int[MOBCATEGORY_TOTAL_ENUMS];
9191
+ // Paper end - Optional per player mob spawns
9292
// CraftBukkit start
93-
public org.bukkit.craftbukkit.entity.CraftPlayer.TransferCookieConnection transferCookieConnection;
9493
public String displayName;
94+
public net.kyori.adventure.text.Component adventure$displayName; // Paper
9595
diff --git a/net/minecraft/world/level/NaturalSpawner.java b/net/minecraft/world/level/NaturalSpawner.java
9696
index 3a864c568cd66a680760bb4df2cb020e323e9a9d..c710e08ab48075ce7854e56826adb8f0364b025b 100644
9797
--- a/net/minecraft/world/level/NaturalSpawner.java

paper-server/patches/features/0026-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ index f863377a807b672f49f7140688f378eca2cf650b..59e8a5e1b35c81883c9b1ca00c6e55d7
6060
spawnState = NaturalSpawner.createState(naturalSpawnChunkCount, this.level.getAllEntities(), this::getFullChunk, null, true);
6161
} else {
6262
diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java
63-
index 73a450e045eba5dbfc7a4e861e4c614c8f60d6b4..105d6b3a40067f9e8ae5bbd9f2872171f73b3d07 100644
63+
index 3202b27426c8375a1f73818f169094f6b9599f7a..f711b1f6fd87b9beec779dfab0ce7d86284315c0 100644
6464
--- a/net/minecraft/server/level/ServerPlayer.java
6565
+++ b/net/minecraft/server/level/ServerPlayer.java
6666
@@ -407,6 +407,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc
@@ -69,10 +69,10 @@ index 73a450e045eba5dbfc7a4e861e4c614c8f60d6b4..105d6b3a40067f9e8ae5bbd9f2872171
6969
// Paper end - Optional per player mob spawns
7070
+ public final int[] mobBackoffCounts = new int[MOBCATEGORY_TOTAL_ENUMS]; // Paper - per player mob count backoff
7171
// CraftBukkit start
72-
public org.bukkit.craftbukkit.entity.CraftPlayer.TransferCookieConnection transferCookieConnection;
7372
public String displayName;
73+
public net.kyori.adventure.text.Component adventure$displayName; // Paper
7474
diff --git a/net/minecraft/world/level/NaturalSpawner.java b/net/minecraft/world/level/NaturalSpawner.java
75-
index 17b13baa3465530b11ff918c806c772eb5c39a2c..afd6da5c361e1dcf311a9afe8a7efe2faef2556a 100644
75+
index c710e08ab48075ce7854e56826adb8f0364b025b..14a2514a408a66a83f7b5fb43b4c4dc8f23fd5f4 100644
7676
--- a/net/minecraft/world/level/NaturalSpawner.java
7777
+++ b/net/minecraft/world/level/NaturalSpawner.java
7878
@@ -279,6 +279,11 @@ public final class NaturalSpawner {

paper-server/patches/features/0029-Optimise-collision-checking-in-player-move-packet-ha.patch

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ Subject: [PATCH] Optimise collision checking in player move packet handling
66
Move collision logic to just the hasNewCollision call instead of getCubes + hasNewCollision
77

88
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
9-
index 5e921c490814be31fc2843327c0e2cc76bda6620..f49a2c18ec20a7181951389066b7d062b48d43fa 100644
9+
index b7249467f01b346998903b2796bc7e8f478d419e..fba86b250c508a7d5db7f43511d271fb8c37bc80 100644
1010
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
1111
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
12-
@@ -555,7 +555,7 @@ public class ServerGamePacketListenerImpl
12+
@@ -557,7 +557,7 @@ public class ServerGamePacketListenerImpl
1313
return;
1414
}
1515

@@ -18,15 +18,15 @@ index 5e921c490814be31fc2843327c0e2cc76bda6620..f49a2c18ec20a7181951389066b7d062
1818
d3 = d - this.vehicleLastGoodX; // Paper - diff on change, used for checking large move vectors above
1919
d4 = d1 - this.vehicleLastGoodY; // Paper - diff on change, used for checking large move vectors above
2020
d5 = d2 - this.vehicleLastGoodZ; // Paper - diff on change, used for checking large move vectors above
21-
@@ -565,6 +565,7 @@ public class ServerGamePacketListenerImpl
21+
@@ -567,6 +567,7 @@ public class ServerGamePacketListenerImpl
2222
}
2323

2424
rootVehicle.move(MoverType.PLAYER, new Vec3(d3, d4, d5));
2525
+ final boolean didCollide = toX != rootVehicle.getX() || toY != rootVehicle.getY() || toZ != rootVehicle.getZ(); // Paper - needed here as the difference in Y can be reset - also note: this is only a guess at whether collisions took place, floating point errors can make this true when it shouldn't be...
2626
double verticalDelta = d4; // Paper - Decompile fix: lvt reassignment lost
2727
d3 = d - rootVehicle.getX();
2828
d4 = d1 - rootVehicle.getY();
29-
@@ -576,14 +577,22 @@ public class ServerGamePacketListenerImpl
29+
@@ -578,14 +579,22 @@ public class ServerGamePacketListenerImpl
3030
d7 = d3 * d3 + d4 * d4 + d5 * d5;
3131
boolean flag2 = false;
3232
if (d7 > org.spigotmc.SpigotConfig.movedWronglyThreshold) { // Spigot
@@ -52,7 +52,7 @@ index 5e921c490814be31fc2843327c0e2cc76bda6620..f49a2c18ec20a7181951389066b7d062
5252
rootVehicle.absSnapTo(x, y, z, f, f1);
5353
this.player.absSnapTo(x, y, z, this.player.getYRot(), this.player.getXRot()); // CraftBukkit
5454
this.send(ClientboundMoveVehiclePacket.fromEntity(rootVehicle));
55-
@@ -661,9 +670,32 @@ public class ServerGamePacketListenerImpl
55+
@@ -663,9 +672,32 @@ public class ServerGamePacketListenerImpl
5656
}
5757

5858
private boolean noBlocksAround(Entity entity) {
@@ -88,7 +88,7 @@ index 5e921c490814be31fc2843327c0e2cc76bda6620..f49a2c18ec20a7181951389066b7d062
8888
}
8989

9090
@Override
91-
@@ -1430,7 +1462,7 @@ public class ServerGamePacketListenerImpl
91+
@@ -1432,7 +1464,7 @@ public class ServerGamePacketListenerImpl
9292
}
9393
}
9494

@@ -97,15 +97,15 @@ index 5e921c490814be31fc2843327c0e2cc76bda6620..f49a2c18ec20a7181951389066b7d062
9797
d3 = d - this.lastGoodX; // Paper - diff on change, used for checking large move vectors above
9898
d4 = d1 - this.lastGoodY; // Paper - diff on change, used for checking large move vectors above
9999
d5 = d2 - this.lastGoodZ; // Paper - diff on change, used for checking large move vectors above
100-
@@ -1469,6 +1501,7 @@ public class ServerGamePacketListenerImpl
100+
@@ -1471,6 +1503,7 @@ public class ServerGamePacketListenerImpl
101101
boolean flag1 = this.player.verticalCollisionBelow;
102102
this.player.move(MoverType.PLAYER, new Vec3(d3, d4, d5));
103103
this.player.onGround = packet.isOnGround(); // CraftBukkit - SPIGOT-5810, SPIGOT-5835, SPIGOT-6828: reset by this.player.move
104104
+ final boolean didCollide = toX != this.player.getX() || toY != this.player.getY() || toZ != this.player.getZ(); // Paper - needed here as the difference in Y can be reset - also note: this is only a guess at whether collisions took place, floating point errors can make this true when it shouldn't be...
105105
// Paper start - prevent position desync
106106
if (this.awaitingPositionFromClient != null) {
107107
return; // ... thanks Mojang for letting move calls teleport across dimensions.
108-
@@ -1501,7 +1534,17 @@ public class ServerGamePacketListenerImpl
108+
@@ -1503,7 +1536,17 @@ public class ServerGamePacketListenerImpl
109109
}
110110

111111
// Paper start - Add fail move event
@@ -124,7 +124,7 @@ index 5e921c490814be31fc2843327c0e2cc76bda6620..f49a2c18ec20a7181951389066b7d062
124124
if (teleportBack) {
125125
io.papermc.paper.event.player.PlayerFailMoveEvent event = fireFailMove(io.papermc.paper.event.player.PlayerFailMoveEvent.FailReason.CLIPPED_INTO_BLOCK,
126126
toX, toY, toZ, toYaw, toPitch, false);
127-
@@ -1638,7 +1681,7 @@ public class ServerGamePacketListenerImpl
127+
@@ -1640,7 +1683,7 @@ public class ServerGamePacketListenerImpl
128128

129129
private boolean updateAwaitingTeleport() {
130130
if (this.awaitingPositionFromClient != null) {
@@ -133,7 +133,7 @@ index 5e921c490814be31fc2843327c0e2cc76bda6620..f49a2c18ec20a7181951389066b7d062
133133
this.awaitingTeleportTime = this.tickCount;
134134
this.teleport(
135135
this.awaitingPositionFromClient.x,
136-
@@ -1657,6 +1700,33 @@ public class ServerGamePacketListenerImpl
136+
@@ -1659,6 +1702,33 @@ public class ServerGamePacketListenerImpl
137137
}
138138
}
139139

paper-server/patches/sources/net/minecraft/network/Connection.java.patch

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@
4444
+ if (this.packetListener instanceof net.minecraft.server.network.ServerGamePacketListenerImpl impl) {
4545
+ return impl.player;
4646
+ } else if (this.packetListener instanceof net.minecraft.server.network.ServerCommonPacketListenerImpl impl) {
47-
+ org.bukkit.craftbukkit.entity.CraftPlayer player = impl.getCraftPlayer();
48-
+ return player == null ? null : player.getHandle();
47+
+ return null;
4948
+ }
5049
+ return null;
5150
+ }
@@ -67,6 +66,7 @@
6766
+ }
6867
+ // Paper end - packet limiter
6968
+ @Nullable public SocketAddress haProxyAddress; // Paper - Add API to get player's proxy address
69+
+ public @Nullable net.minecraft.server.level.ServerPlayer savedPlayerForLoginEventLegacy; // Paper - playerloginevent
7070

7171
public Connection(PacketFlow receiving) {
7272
this.receiving = receiving;
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
--- a/net/minecraft/network/DisconnectionDetails.java
2+
+++ b/net/minecraft/network/DisconnectionDetails.java
3+
@@ -5,7 +_,13 @@
4+
import java.util.Optional;
5+
import net.minecraft.network.chat.Component;
6+
7+
-public record DisconnectionDetails(Component reason, Optional<Path> report, Optional<URI> bugReportLink) {
8+
+// Paper start
9+
+public record DisconnectionDetails(Component reason, Optional<Path> report, Optional<URI> bugReportLink, Optional<Component> quitMessage, Optional<io.papermc.paper.connection.DisconnectionReason> disconnectionReason) {
10+
+ public DisconnectionDetails(Component reason, Optional<Path> report, Optional<URI> bugReportLink) {
11+
+ this(reason, report, bugReportLink, Optional.empty(), Optional.empty());
12+
+ }
13+
+// Paper end
14+
+
15+
public DisconnectionDetails(Component reason) {
16+
this(reason, Optional.empty(), Optional.empty());
17+
}

paper-server/patches/sources/net/minecraft/server/level/ServerPlayer.java.patch

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@
7373
@Override
7474
public void dataChanged(AbstractContainerMenu containerMenu, int dataSlotIndex, int value) {
7575
}
76-
@@ -344,9 +_,43 @@
76+
@@ -344,9 +_,42 @@
7777
public void sendSystemMessage(Component component) {
7878
ServerPlayer.this.sendSystemMessage(component);
7979
}
@@ -95,7 +95,6 @@
9595
+ public @Nullable net.minecraft.network.protocol.game.ClientboundSetHealthPacket queuedHealthUpdatePacket;
9696
+ // Paper end - cancellable death event
9797
+ // CraftBukkit start
98-
+ public org.bukkit.craftbukkit.entity.CraftPlayer.TransferCookieConnection transferCookieConnection;
9998
+ public String displayName;
10099
+ public net.kyori.adventure.text.Component adventure$displayName; // Paper
101100
+ public @Nullable Component listName;

0 commit comments

Comments
 (0)