mirror of
https://github.com/PurpurMC/Purpur.git
synced 2026-02-17 16:37:43 +01:00
Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@cc491a3 Finish updating chunk system patch PaperMC/Paper@619d7c9 Add in some patches PaperMC/Paper@902691b Apply last patch PaperMC/Paper@efb4197 Fix final compilation issues PaperMC/Paper@57a5924 Fix boot errors PaperMC/Paper@c1def9d Updated Upstream (CraftBukkit/Spigot) PaperMC/Paper@a0a2e72 fix sculk npe PaperMC/Paper@318a08c add missing block entity type to CraftBlockStates PaperMC/Paper@aed9ef0 Update adventure PaperMC/Paper@9d42879 Fix breaking pots throwing exception PaperMC/Paper@59060aa fix some failing tests PaperMC/Paper@e325e37 add missing call to EntityInsideBlockEvent PaperMC/Paper@8ce5219 Fix inconsistent chunk sending with vanilla PaperMC/Paper@04509f0 Fix crash relating to "Already sent chunk" PaperMC/Paper@c9eb393 Updated Upstream (Bukkit) PaperMC/Paper@21f2d15 Avoid duplicate poi entries from the first section (#9235) PaperMC/Paper@3621d76 Fix collision between AABB and a dot (#8733) PaperMC/Paper@ccb194b Move block farther away for Player#setRotation (#8514) PaperMC/Paper@03c3587 fix not editable sign after openSign PaperMC/Paper@6d74ad1 Finish tests & bad calls PaperMC/Paper@e829a9d Fix javadoc PaperMC/Paper@82c6479 Add back Anti-Xray patch (#9283) PaperMC/Paper@0d969f0 comment out update logic from build.gradle.kts PaperMC/Paper@ea9fdc3 Ignore inline definitions of trim material & pattern PaperMC/Paper@9ada4bd Prevent the rcon thread from attempting connections after shutdown PaperMC/Paper@c9e125f Fix setListenerRange for calibrated sculk sensors PaperMC/Paper@9ebf75d fix some more 1.20 tracking issues PaperMC/Paper@f9fc44f add side to PlayerSignCommandPreprocessEvent PaperMC/Paper@4e3febb fix missing trigger entity for xp orb from breeding PaperMC/Paper@4b5f847 Minimise EntityFertilizeEggEvent and add sniffer (#9280)
61 lines
3.7 KiB
Diff
61 lines
3.7 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: William Blake Galbreath <blake.galbreath@gmail.com>
|
|
Date: Fri, 30 Jul 2021 14:31:25 -0500
|
|
Subject: [PATCH] Purpur client support
|
|
|
|
|
|
diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
index 5fad40fa88f697108e42461c41012d5964ed7d75..a808c7bb143dc8c5f60bf8eacdb6e45f73da69fb 100644
|
|
--- a/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
+++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java
|
|
@@ -277,6 +277,7 @@ public class ServerPlayer extends Player {
|
|
public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet<ServerPlayer> cachedSingleHashSet; // Paper
|
|
public PlayerNaturallySpawnCreaturesEvent playerNaturallySpawnedEvent; // Paper
|
|
public org.bukkit.event.player.PlayerQuitEvent.QuitReason quitReason = null; // Paper - there are a lot of changes to do if we change all methods leading to the event
|
|
+ public boolean purpurClient = false; // Purpur
|
|
|
|
private final java.util.concurrent.atomic.AtomicReference<io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances> viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1));
|
|
public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader;
|
|
diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
index ae82ab0e3d8e99f87ca8465fbcbb44b5ce18bf96..63d694edc25fcd33873fdbe7468a37b3be3f1b8d 100644
|
|
--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
+++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java
|
|
@@ -3502,6 +3502,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
|
private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister");
|
|
|
|
private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support
|
|
+ private static final ResourceLocation PURPUR_CLIENT = new ResourceLocation("purpur", "client"); // Purpur
|
|
|
|
@Override
|
|
public void handleCustomPayload(ServerboundCustomPayloadPacket packet) {
|
|
@@ -3526,6 +3527,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic
|
|
ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex);
|
|
this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause
|
|
}
|
|
+ // Purpur start
|
|
+ } else if (packet.identifier.equals(PURPUR_CLIENT)) {
|
|
+ try {
|
|
+ player.purpurClient = true;
|
|
+ } catch (Exception ignore) {
|
|
+ }
|
|
+ // Purpur end
|
|
} else {
|
|
try {
|
|
byte[] data = new byte[packet.data.readableBytes()];
|
|
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
index 548eddde8b0558b780f672d321507cfcbac92558..12b4841d319836b2453552f2bb3aa4accc8f7bc3 100644
|
|
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
|
|
@@ -3144,4 +3144,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
|
|
return this.spigot;
|
|
}
|
|
// Spigot end
|
|
+
|
|
+ // Purpur start
|
|
+ @Override
|
|
+ public boolean usesPurpurClient() {
|
|
+ return getHandle().purpurClient;
|
|
+ }
|
|
+ // Purpur end
|
|
}
|