mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 08:27:43 +01:00
Updated Upstream (Paper)
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@ba4b700e 1.21.11 PaperMC/Paper@cc3dae7a Re-add DataConverter patch PaperMC/Paper@4446f17f Fix PlayerClientLoadedWorldEvent calls (#13374)
This commit is contained in:
@@ -1,9 +1,9 @@
|
|||||||
group = org.purpurmc.purpur
|
group = org.purpurmc.purpur
|
||||||
version = 1.21.11-rc3-R0.1-SNAPSHOT
|
version = 1.21.11-R0.1-SNAPSHOT
|
||||||
|
|
||||||
mcVersion = 1.21.11-rc3
|
mcVersion = 1.21.11
|
||||||
apiVersion=1.21.11
|
apiVersion=1.21.11
|
||||||
paperCommit = f6e937b97856bf72e7932eccf930a405859288e8
|
paperCommit = 4446f17f652d3ce56860f8c06d6746fa3c1853fc
|
||||||
|
|
||||||
org.gradle.configuration-cache = true
|
org.gradle.configuration-cache = true
|
||||||
org.gradle.caching = true
|
org.gradle.caching = true
|
||||||
|
|||||||
@@ -18,10 +18,10 @@ index 05eb0c3273ffa1b5a1ebd8f8ae42c11830d755c7..49d3154afe2ca5789e63bdf972c79196
|
|||||||
public boolean isClientAuthoritative() {
|
public boolean isClientAuthoritative() {
|
||||||
return false;
|
return false;
|
||||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||||
index fb65832d3d820aa48bb8fc0efecfd659bb8e2755..cf817b5bab8e936bd40477d40359c35f2bf1d5fc 100644
|
index c714782f047c211443723738527f4bd019aaa322..cfd9596246713030f7c0f28a65abeed6dcc8d81b 100644
|
||||||
--- a/net/minecraft/server/MinecraftServer.java
|
--- a/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/net/minecraft/server/MinecraftServer.java
|
+++ b/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1832,6 +1832,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1833,6 +1833,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
serverLevel.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
|
serverLevel.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper - Add EntityMoveEvent
|
||||||
serverLevel.updateLagCompensationTick(); // Paper - lag compensation
|
serverLevel.updateLagCompensationTick(); // Paper - lag compensation
|
||||||
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = serverLevel.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
|
net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = serverLevel.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper - Perf: Optimize Hoppers
|
||||||
@@ -62,10 +62,10 @@ index 9ec896ad8e95d7822095c42054e76e7a5db91481..2eba1b0ac8b4a0bb34d04b81c4c279db
|
|||||||
|
|
||||||
private void updatePlayerAttributes() {
|
private void updatePlayerAttributes() {
|
||||||
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
diff --git a/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
index a7e64b698d8db843cac9e1b0ae86c9e7aa8db492..bf534674d9796a985534538301523723190a6277 100644
|
index cd7ecd971b5a0ffdf6cabeaa874f2a221431052e..e587414dd1250b14a0fecf8d1b25dd70b20816eb 100644
|
||||||
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
--- a/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
+++ b/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
||||||
@@ -2902,6 +2902,8 @@ public class ServerGamePacketListenerImpl
|
@@ -2895,6 +2895,8 @@ public class ServerGamePacketListenerImpl
|
||||||
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event);
|
||||||
final boolean resendData = event.isCancelled() || !ServerGamePacketListenerImpl.this.player.getItemInHand(hand).is(itemType);
|
final boolean resendData = event.isCancelled() || !ServerGamePacketListenerImpl.this.player.getItemInHand(hand).is(itemType);
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ Subject: [PATCH] Setting to reintroduce end void rings
|
|||||||
|
|
||||||
|
|
||||||
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
diff --git a/net/minecraft/server/MinecraftServer.java b/net/minecraft/server/MinecraftServer.java
|
||||||
index cf817b5bab8e936bd40477d40359c35f2bf1d5fc..afb88446dc0aa2a3b0c4cbcdb44279c3c80ff076 100644
|
index cfd9596246713030f7c0f28a65abeed6dcc8d81b..952444a26fd13ae0b385b2b7f717d965b4c76d19 100644
|
||||||
--- a/net/minecraft/server/MinecraftServer.java
|
--- a/net/minecraft/server/MinecraftServer.java
|
||||||
+++ b/net/minecraft/server/MinecraftServer.java
|
+++ b/net/minecraft/server/MinecraftServer.java
|
||||||
@@ -1314,6 +1314,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
@@ -1315,6 +1315,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// Purpur end - config for startup commands
|
// Purpur end - config for startup commands
|
||||||
@@ -25,7 +25,7 @@
|
|||||||
getTPS(this.tickTimes1m, interval),
|
getTPS(this.tickTimes1m, interval),
|
||||||
getTPS(this.tickTimes5m, interval),
|
getTPS(this.tickTimes5m, interval),
|
||||||
getTPS(this.tickTimes15m, interval)
|
getTPS(this.tickTimes15m, interval)
|
||||||
@@ -1015,6 +_,15 @@
|
@@ -1016,6 +_,15 @@
|
||||||
|
|
||||||
LOGGER.info("Stopping server");
|
LOGGER.info("Stopping server");
|
||||||
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
|
Commands.COMMAND_SENDING_POOL.shutdownNow(); // Paper - Perf: Async command map building; Shutdown and don't bother finishing
|
||||||
@@ -41,7 +41,7 @@
|
|||||||
// CraftBukkit start
|
// CraftBukkit start
|
||||||
if (this.server != null) {
|
if (this.server != null) {
|
||||||
this.server.spark.disable(); // Paper - spark
|
this.server.spark.disable(); // Paper - spark
|
||||||
@@ -1113,6 +_,8 @@
|
@@ -1114,6 +_,8 @@
|
||||||
this.safeShutdown(waitForShutdown, false);
|
this.safeShutdown(waitForShutdown, false);
|
||||||
}
|
}
|
||||||
public void safeShutdown(boolean waitForShutdown, boolean isRestarting) {
|
public void safeShutdown(boolean waitForShutdown, boolean isRestarting) {
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
this.isRestarting = isRestarting;
|
this.isRestarting = isRestarting;
|
||||||
this.hasLoggedStop = true; // Paper - Debugging
|
this.hasLoggedStop = true; // Paper - Debugging
|
||||||
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
|
if (isDebugging()) io.papermc.paper.util.TraceUtil.dumpTraceForThread("Server stopped"); // Paper - Debugging
|
||||||
@@ -1290,6 +_,16 @@
|
@@ -1291,6 +_,16 @@
|
||||||
}
|
}
|
||||||
// Paper end - Add onboarding message for initial server start
|
// Paper end - Add onboarding message for initial server start
|
||||||
|
|
||||||
@@ -67,7 +67,7 @@
|
|||||||
while (this.running) {
|
while (this.running) {
|
||||||
final long tickStart = System.nanoTime(); // Paper - improve tick loop
|
final long tickStart = System.nanoTime(); // Paper - improve tick loop
|
||||||
long l; // Paper - improve tick loop - diff on change, expect this to be tick interval
|
long l; // Paper - improve tick loop - diff on change, expect this to be tick interval
|
||||||
@@ -1303,8 +_,10 @@
|
@@ -1304,8 +_,10 @@
|
||||||
final long ticksBehind = Math.max(1L, this.tickSchedule.getPeriodsAhead(l, tickStart));
|
final long ticksBehind = Math.max(1L, this.tickSchedule.getPeriodsAhead(l, tickStart));
|
||||||
final long catchup = (long)Math.max(
|
final long catchup = (long)Math.max(
|
||||||
1,
|
1,
|
||||||
@@ -79,7 +79,7 @@
|
|||||||
|
|
||||||
// adjust ticksBehind so that it is not greater-than catchup
|
// adjust ticksBehind so that it is not greater-than catchup
|
||||||
if (ticksBehind > catchup) {
|
if (ticksBehind > catchup) {
|
||||||
@@ -1786,7 +_,7 @@
|
@@ -1787,7 +_,7 @@
|
||||||
long worldTime = level.getGameTime();
|
long worldTime = level.getGameTime();
|
||||||
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
|
final ClientboundSetTimePacket worldPacket = new ClientboundSetTimePacket(worldTime, dayTime, doDaylight);
|
||||||
for (Player entityhuman : level.players()) {
|
for (Player entityhuman : level.players()) {
|
||||||
@@ -88,7 +88,7 @@
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
ServerPlayer entityplayer = (ServerPlayer) entityhuman;
|
ServerPlayer entityplayer = (ServerPlayer) entityhuman;
|
||||||
@@ -1953,7 +_,7 @@
|
@@ -1954,7 +_,7 @@
|
||||||
|
|
||||||
@DontObfuscate
|
@DontObfuscate
|
||||||
public String getServerModName() {
|
public String getServerModName() {
|
||||||
|
|||||||
@@ -51,7 +51,7 @@
|
|||||||
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1308,6 +_,10 @@
|
@@ -1301,6 +_,10 @@
|
||||||
final int maxBookPageSize = pageMax.intValue();
|
final int maxBookPageSize = pageMax.intValue();
|
||||||
final double multiplier = Math.clamp(io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier, 0.3D, 1D);
|
final double multiplier = Math.clamp(io.papermc.paper.configuration.GlobalConfiguration.get().itemValidation.bookSize.totalMultiplier, 0.3D, 1D);
|
||||||
long byteAllowed = maxBookPageSize;
|
long byteAllowed = maxBookPageSize;
|
||||||
@@ -62,7 +62,7 @@
|
|||||||
for (final String page : pageList) {
|
for (final String page : pageList) {
|
||||||
final int byteLength = page.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
|
final int byteLength = page.getBytes(java.nio.charset.StandardCharsets.UTF_8).length;
|
||||||
byteTotal += byteLength;
|
byteTotal += byteLength;
|
||||||
@@ -1332,7 +_,8 @@
|
@@ -1325,7 +_,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
if (byteTotal > byteAllowed) {
|
if (byteTotal > byteAllowed) {
|
||||||
@@ -72,7 +72,7 @@
|
|||||||
this.disconnectAsync(Component.literal("Book too large!"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause // Paper - add proper async disconnect
|
this.disconnectAsync(Component.literal("Book too large!"), org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION); // Paper - kick event cause // Paper - add proper async disconnect
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@@ -1351,31 +_,45 @@
|
@@ -1344,31 +_,45 @@
|
||||||
Optional<String> optional = packet.title();
|
Optional<String> optional = packet.title();
|
||||||
optional.ifPresent(list::add);
|
optional.ifPresent(list::add);
|
||||||
list.addAll(packet.pages());
|
list.addAll(packet.pages());
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
itemStack.set(
|
itemStack.set(
|
||||||
DataComponents.WRITTEN_BOOK_CONTENT, new WrittenBookContent(this.filterableFromOutgoing(title), this.player.getPlainTextName(), 0, list, true)
|
DataComponents.WRITTEN_BOOK_CONTENT, new WrittenBookContent(this.filterableFromOutgoing(title), this.player.getPlainTextName(), 0, list, true)
|
||||||
);
|
);
|
||||||
@@ -1388,6 +_,16 @@
|
@@ -1381,6 +_,16 @@
|
||||||
return this.player.isTextFilteringEnabled() ? Filterable.passThrough(filteredText.filteredOrEmpty()) : Filterable.from(filteredText);
|
return this.player.isTextFilteringEnabled() ? Filterable.passThrough(filteredText.filteredOrEmpty()) : Filterable.from(filteredText);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -139,7 +139,7 @@
|
|||||||
@Override
|
@Override
|
||||||
public void handleEntityTagQuery(ServerboundEntityTagQueryPacket packet) {
|
public void handleEntityTagQuery(ServerboundEntityTagQueryPacket packet) {
|
||||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
||||||
@@ -1427,7 +_,15 @@
|
@@ -1420,7 +_,15 @@
|
||||||
@Override
|
@Override
|
||||||
public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
|
public void handleMovePlayer(ServerboundMovePlayerPacket packet) {
|
||||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
||||||
@@ -156,7 +156,7 @@
|
|||||||
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
this.disconnect(Component.translatable("multiplayer.disconnect.invalid_player_movement"), org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PLAYER_MOVEMENT); // Paper - kick event cause
|
||||||
} else {
|
} else {
|
||||||
ServerLevel serverLevel = this.player.level();
|
ServerLevel serverLevel = this.player.level();
|
||||||
@@ -1610,7 +_,7 @@
|
@@ -1603,7 +_,7 @@
|
||||||
movedWrongly = true;
|
movedWrongly = true;
|
||||||
if (event.getLogWarning())
|
if (event.getLogWarning())
|
||||||
// Paper end
|
// Paper end
|
||||||
@@ -165,7 +165,7 @@
|
|||||||
} // Paper
|
} // Paper
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1675,6 +_,8 @@
|
@@ -1668,6 +_,8 @@
|
||||||
this.lastYaw = to.getYaw();
|
this.lastYaw = to.getYaw();
|
||||||
this.lastPitch = to.getPitch();
|
this.lastPitch = to.getPitch();
|
||||||
|
|
||||||
@@ -174,7 +174,7 @@
|
|||||||
Location oldTo = to.clone();
|
Location oldTo = to.clone();
|
||||||
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
|
PlayerMoveEvent event = new PlayerMoveEvent(player, from, to);
|
||||||
this.cserver.getPluginManager().callEvent(event);
|
this.cserver.getPluginManager().callEvent(event);
|
||||||
@@ -1730,6 +_,13 @@
|
@@ -1723,6 +_,13 @@
|
||||||
this.player.tryResetCurrentImpulseContext();
|
this.player.tryResetCurrentImpulseContext();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +188,7 @@
|
|||||||
this.player.checkMovementStatistics(this.player.getX() - x, this.player.getY() - y, this.player.getZ() - z);
|
this.player.checkMovementStatistics(this.player.getX() - x, this.player.getY() - y, this.player.getZ() - z);
|
||||||
this.lastGoodX = this.player.getX();
|
this.lastGoodX = this.player.getX();
|
||||||
this.lastGoodY = this.player.getY();
|
this.lastGoodY = this.player.getY();
|
||||||
@@ -1747,6 +_,17 @@
|
@@ -1740,6 +_,17 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -206,7 +206,7 @@
|
|||||||
private boolean shouldCheckPlayerMovement(boolean isElytraMovement) {
|
private boolean shouldCheckPlayerMovement(boolean isElytraMovement) {
|
||||||
if (this.isSingleplayerOwner()) {
|
if (this.isSingleplayerOwner()) {
|
||||||
return false;
|
return false;
|
||||||
@@ -2161,6 +_,7 @@
|
@@ -2154,6 +_,7 @@
|
||||||
|
|
||||||
boolean cancelled;
|
boolean cancelled;
|
||||||
if (hitResult == null || hitResult.getType() != HitResult.Type.BLOCK) {
|
if (hitResult == null || hitResult.getType() != HitResult.Type.BLOCK) {
|
||||||
@@ -214,7 +214,7 @@
|
|||||||
org.bukkit.event.player.PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.RIGHT_CLICK_AIR, itemInHand, hand);
|
org.bukkit.event.player.PlayerInteractEvent event = CraftEventFactory.callPlayerInteractEvent(this.player, Action.RIGHT_CLICK_AIR, itemInHand, hand);
|
||||||
cancelled = event.useItemInHand() == Event.Result.DENY;
|
cancelled = event.useItemInHand() == Event.Result.DENY;
|
||||||
} else {
|
} else {
|
||||||
@@ -2807,6 +_,7 @@
|
@@ -2800,6 +_,7 @@
|
||||||
|
|
||||||
AABB boundingBox = target.getBoundingBox();
|
AABB boundingBox = target.getBoundingBox();
|
||||||
if (packet.isWithinRange(this.player, boundingBox, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(3.0))) { // Paper - configurable lenience value for interact range
|
if (packet.isWithinRange(this.player, boundingBox, io.papermc.paper.configuration.GlobalConfiguration.get().misc.clientInteractionLeniencyDistance.or(3.0))) { // Paper - configurable lenience value for interact range
|
||||||
@@ -222,7 +222,7 @@
|
|||||||
packet.dispatch(
|
packet.dispatch(
|
||||||
new ServerboundInteractPacket.Handler() {
|
new ServerboundInteractPacket.Handler() {
|
||||||
private void performInteraction(InteractionHand hand, ServerGamePacketListenerImpl.EntityInteraction entityInteraction, PlayerInteractEntityEvent event) { // CraftBukkit
|
private void performInteraction(InteractionHand hand, ServerGamePacketListenerImpl.EntityInteraction entityInteraction, PlayerInteractEntityEvent event) { // CraftBukkit
|
||||||
@@ -3552,7 +_,7 @@
|
@@ -3545,7 +_,7 @@
|
||||||
@Override
|
@Override
|
||||||
public void handleChangeGameMode(ServerboundChangeGameModePacket packet) {
|
public void handleChangeGameMode(ServerboundChangeGameModePacket packet) {
|
||||||
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
PacketUtils.ensureRunningOnSameThread(packet, this, this.player.level());
|
||||||
|
|||||||
Reference in New Issue
Block a user