Updated Upstream (Paper)

Upstream has released updates that appear to apply and compile correctly

Paper Changes:
PaperMC/Paper@6178609 Fix tripwire state inconsistency
PaperMC/Paper@ae6fec6 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#7116)
PaperMC/Paper@5cb2942 Update paperweight to 1.3.3 and shadow to 7.1.1
PaperMC/Paper@8a9979c Update gradle wrapper to 7.3.2
PaperMC/Paper@df8d28a Update checker framework & log4j-api for paper-api (also rebuild patches)
This commit is contained in:
Encode42
2021-12-21 14:42:52 -05:00
parent a1c3bf0eb1
commit d0431d6c9c
45 changed files with 81 additions and 224 deletions

View File

@@ -6,12 +6,12 @@ Subject: [PATCH] Build System Changes
todo: merge with rebrand patch
diff --git a/build.gradle.kts b/build.gradle.kts
index 241ee5c98275a4517e040c86355ae6702f8efca1..43ce7fe6b65488d00c69986908c788761ccd74ad 100644
index a23b2bd8e1ca1ff8d0ad5ed5d5e41c89e4795090..46877e24c8e676fcc229090b96738ea79dceeaa1 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -40,6 +40,7 @@ dependencies {
apiAndDocs("net.kyori:adventure-text-serializer-plain")
api("org.apache.logging.log4j:log4j-api:2.14.1")
api("org.apache.logging.log4j:log4j-api:2.17.0")
api("org.slf4j:slf4j-api:1.8.0-beta4")
+ api("net.kyori:adventure-text-minimessage:4.1.0-SNAPSHOT") // Purpur

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 6996a61534bbdd34729f1dcd988ae2666bfad2c4..93316cd9346c9fcfc6bdef96b1ed34a76c47f6f9 100644
index e48af3822e9f118399c3a1c9358c56efae12e0da..090ea732a000f7f668abe303437245b99fc9e4c6 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1743,6 +1743,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1778,6 +1778,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
}
// Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index f5ded992672dde910cd4e1be50c238b142157ff8..c0f46522cee8bb022d5eff55656ffa6c38aa86cf 100644
index 1b4b54741719252892a3a51491d49cd5423de499..f9d46d0ba72e84c58c5165227875396000f22f4a 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2366,4 +2366,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2507,4 +2507,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@Override
Spigot spigot();
// Spigot end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] AFK API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index c0f46522cee8bb022d5eff55656ffa6c38aa86cf..4870666fbaeeffe1607214acdf89816e2ef1cbce 100644
index f9d46d0ba72e84c58c5165227875396000f22f4a..2d9a25bfd7a1468d139f98b01feceb6553663c24 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2374,5 +2374,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2515,5 +2515,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @return True if Player uses Purpur Client
*/
public boolean usesPurpurClient();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Bring back server name
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index b7c45aa5d5f79fd16e59401acfa9c2bed0a5d78c..a00347d848bc00df2d30a4030837fe960aa658fb 100644
index 53c4e5ca208ee17c7c244e416c537c7b63edf194..fdebfab6bdb74756c1bee4b7f03a27c2056388c9 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2138,4 +2138,15 @@ public final class Bukkit {
@@ -2181,4 +2181,15 @@ public final class Bukkit {
public static Server.Spigot spigot() {
return server.spigot();
}
@@ -25,10 +25,10 @@ index b7c45aa5d5f79fd16e59401acfa9c2bed0a5d78c..a00347d848bc00df2d30a4030837fe96
+ // Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 93316cd9346c9fcfc6bdef96b1ed34a76c47f6f9..7b46448b75cd78d6a6e09a113c59ee41ba12fc70 100644
index 090ea732a000f7f668abe303437245b99fc9e4c6..3773a4e1c6bdc020b7dbfb967192d17ad08c3813 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1865,4 +1865,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1900,4 +1900,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@NotNull
io.papermc.paper.datapack.DatapackManager getDatapackManager();
// Paper end

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index a00347d848bc00df2d30a4030837fe960aa658fb..b36fd9bd6b633bb2f8503d1ca19befa8a4936b56 100644
index fdebfab6bdb74756c1bee4b7f03a27c2056388c9..7d9d0bb3001fd6f0fd0f1c7ddca5964e1fe8447f 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2148,5 +2148,14 @@ public final class Bukkit {
@@ -2191,5 +2191,14 @@ public final class Bukkit {
public static String getServerName() {
return server.getServerName();
}
@@ -24,10 +24,10 @@ index a00347d848bc00df2d30a4030837fe960aa658fb..b36fd9bd6b633bb2f8503d1ca19befa8
// Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 7b46448b75cd78d6a6e09a113c59ee41ba12fc70..7fa620281187f17effe178d2e4e306860ebff801 100644
index 3773a4e1c6bdc020b7dbfb967192d17ad08c3813..fa2a5c8ed947cd2beed01df82fcc5e450e3e5782 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1873,5 +1873,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1908,5 +1908,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*/
@NotNull
String getServerName();

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 4870666fbaeeffe1607214acdf89816e2ef1cbce..435eed54c20bf46e1348e3c45c976213a8f09b05 100644
index 2d9a25bfd7a1468d139f98b01feceb6553663c24..e92de95ec40518006db6c5d098b334c7f854fcea 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2393,5 +2393,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2534,5 +2534,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* Reset the idle timer back to 0
*/
void resetIdleTimer();

View File

@@ -489,10 +489,10 @@ index 3afd5f5c0208a4ee93b5dbfc2aab2b9d2e8a7544..7838731e0e16bdccfb79e74ceb64148f
/**
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 7fa620281187f17effe178d2e4e306860ebff801..e2543cfced6cca1f10bcdfe1e28dd889f6ac5c5c 100644
index fa2a5c8ed947cd2beed01df82fcc5e450e3e5782..d5e7538f7c7f288e1710fb383b57683f08ee0e57 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1716,6 +1716,9 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1751,6 +1751,9 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
UnsafeValues getUnsafe();
// Spigot start
@@ -921,10 +921,10 @@ index a6a7429ed2e1eefb2b12b7480ed74fcc3963a864..e8027e1d505dda6effbb1698550016e8
NORMAL(false),
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 435eed54c20bf46e1348e3c45c976213a8f09b05..d26103c4fb0c2d6d99abae962b5ff25d34bd0ab7 100644
index e92de95ec40518006db6c5d098b334c7f854fcea..809827d41ca42a665cd7b9c23a6361dc10d22ccf 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2196,6 +2196,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2337,6 +2337,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
void resetCooldown();
/**
@@ -933,7 +933,7 @@ index 435eed54c20bf46e1348e3c45c976213a8f09b05..d26103c4fb0c2d6d99abae962b5ff25d
* @return the client option value of the player
*/
@NotNull
@@ -2227,6 +2229,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2368,6 +2370,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
// Paper end
// Spigot start

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Conflict on change for adventure deprecations
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index b36fd9bd6b633bb2f8503d1ca19befa8a4936b56..fbef0ab6514f9a2ab1e48e9f973992221ab09552 100644
index 7d9d0bb3001fd6f0fd0f1c7ddca5964e1fe8447f..4234d01ed793390ec3fb5fb69cf26102b92be020 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -370,7 +370,7 @@ public final class Bukkit {
@@ -413,7 +413,7 @@ public final class Bukkit {
* @return the number of players
* @deprecated in favour of {@link Server#broadcast(net.kyori.adventure.text.Component)}
*/
@@ -17,7 +17,7 @@ index b36fd9bd6b633bb2f8503d1ca19befa8a4936b56..fbef0ab6514f9a2ab1e48e9f97399222
public static int broadcastMessage(@NotNull String message) {
return server.broadcastMessage(message);
}
@@ -1099,7 +1099,7 @@ public final class Bukkit {
@@ -1142,7 +1142,7 @@ public final class Bukkit {
* @return number of message recipients
* @deprecated in favour of {@link #broadcast(net.kyori.adventure.text.Component, String)}
*/
@@ -26,7 +26,7 @@ index b36fd9bd6b633bb2f8503d1ca19befa8a4936b56..fbef0ab6514f9a2ab1e48e9f97399222
public static int broadcast(@NotNull String message, @NotNull String permission) {
return server.broadcast(message, permission);
}
@@ -1378,7 +1378,7 @@ public final class Bukkit {
@@ -1421,7 +1421,7 @@ public final class Bukkit {
*
* @see InventoryType#isCreatable()
*/
@@ -35,7 +35,7 @@ index b36fd9bd6b633bb2f8503d1ca19befa8a4936b56..fbef0ab6514f9a2ab1e48e9f97399222
@NotNull
public static Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title) {
return server.createInventory(owner, type, title);
@@ -1428,7 +1428,7 @@ public final class Bukkit {
@@ -1471,7 +1471,7 @@ public final class Bukkit {
* @throws IllegalArgumentException if the size is not a multiple of 9
* @deprecated in favour of {@link #createInventory(InventoryHolder, InventoryType, net.kyori.adventure.text.Component)}
*/
@@ -44,7 +44,7 @@ index b36fd9bd6b633bb2f8503d1ca19befa8a4936b56..fbef0ab6514f9a2ab1e48e9f97399222
@NotNull
public static Inventory createInventory(@Nullable InventoryHolder owner, int size, @NotNull String title) throws IllegalArgumentException {
return server.createInventory(owner, size, title);
@@ -1455,7 +1455,7 @@ public final class Bukkit {
@@ -1498,7 +1498,7 @@ public final class Bukkit {
* @deprecated in favour of {@link #createMerchant(net.kyori.adventure.text.Component)}
*/
@NotNull
@@ -53,7 +53,7 @@ index b36fd9bd6b633bb2f8503d1ca19befa8a4936b56..fbef0ab6514f9a2ab1e48e9f97399222
public static Merchant createMerchant(@Nullable String title) {
return server.createMerchant(title);
}
@@ -1553,7 +1553,7 @@ public final class Bukkit {
@@ -1596,7 +1596,7 @@ public final class Bukkit {
* @deprecated in favour of {@link #motd()}
*/
@NotNull
@@ -62,7 +62,7 @@ index b36fd9bd6b633bb2f8503d1ca19befa8a4936b56..fbef0ab6514f9a2ab1e48e9f97399222
public static String getMotd() {
return server.getMotd();
}
@@ -1575,7 +1575,7 @@ public final class Bukkit {
@@ -1618,7 +1618,7 @@ public final class Bukkit {
* @deprecated in favour of {@link #shutdownMessage()}
*/
@Nullable
@@ -72,10 +72,10 @@ index b36fd9bd6b633bb2f8503d1ca19befa8a4936b56..fbef0ab6514f9a2ab1e48e9f97399222
return server.getShutdownMessage();
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index e2543cfced6cca1f10bcdfe1e28dd889f6ac5c5c..7fa99fadfe5558fddf2aeef51ca824a59a55f7d4 100644
index d5e7538f7c7f288e1710fb383b57683f08ee0e57..fee029f0a4b5cbd2b5ab9315a53c03bd6bf0a290 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -290,7 +290,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -325,7 +325,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return the number of players
* @deprecated use {@link #broadcast(net.kyori.adventure.text.Component)}
*/
@@ -84,7 +84,7 @@ index e2543cfced6cca1f10bcdfe1e28dd889f6ac5c5c..7fa99fadfe5558fddf2aeef51ca824a5
public int broadcastMessage(@NotNull String message);
// Paper start
@@ -891,7 +891,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -926,7 +926,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return number of message recipients
* @deprecated in favour of {@link #broadcast(net.kyori.adventure.text.Component, String)}
*/
@@ -93,7 +93,7 @@ index e2543cfced6cca1f10bcdfe1e28dd889f6ac5c5c..7fa99fadfe5558fddf2aeef51ca824a5
public int broadcast(@NotNull String message, @NotNull String permission);
// Paper start
/**
@@ -1155,7 +1155,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1190,7 +1190,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
*
* @see InventoryType#isCreatable()
*/
@@ -102,7 +102,7 @@ index e2543cfced6cca1f10bcdfe1e28dd889f6ac5c5c..7fa99fadfe5558fddf2aeef51ca824a5
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title);
@@ -1199,7 +1199,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1234,7 +1234,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @throws IllegalArgumentException if the size is not a multiple of 9
* @deprecated in favour of {@link #createInventory(InventoryHolder, int, net.kyori.adventure.text.Component)}
*/
@@ -111,7 +111,7 @@ index e2543cfced6cca1f10bcdfe1e28dd889f6ac5c5c..7fa99fadfe5558fddf2aeef51ca824a5
@NotNull
Inventory createInventory(@Nullable InventoryHolder owner, int size, @NotNull String title) throws IllegalArgumentException;
@@ -1222,7 +1222,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1257,7 +1257,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @deprecated in favour of {@link #createMerchant(net.kyori.adventure.text.Component)}
*/
@NotNull
@@ -120,7 +120,7 @@ index e2543cfced6cca1f10bcdfe1e28dd889f6ac5c5c..7fa99fadfe5558fddf2aeef51ca824a5
Merchant createMerchant(@Nullable String title);
/**
@@ -1302,7 +1302,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1337,7 +1337,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @deprecated in favour of {@link #motd()}
*/
@NotNull
@@ -129,7 +129,7 @@ index e2543cfced6cca1f10bcdfe1e28dd889f6ac5c5c..7fa99fadfe5558fddf2aeef51ca824a5
String getMotd();
// Paper start
@@ -1320,7 +1320,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1355,7 +1355,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @deprecated in favour of {@link #shutdownMessage()}
*/
@Nullable
@@ -170,7 +170,7 @@ index c8d37184d8e882a4084a1bfef85faa330588600b..46bae5c13ce2b973b114682f6a338981
/**
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index d26103c4fb0c2d6d99abae962b5ff25d34bd0ab7..c2905745cd54ace5f84b7119692a4ebfd9864d16 100644
index 809827d41ca42a665cd7b9c23a6361dc10d22ccf..38762db5c3383c3663a328ac591b0f6b25ac7f5a 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -76,7 +76,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -281,7 +281,7 @@ index d26103c4fb0c2d6d99abae962b5ff25d34bd0ab7..c2905745cd54ace5f84b7119692a4ebf
public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException;
/**
@@ -1922,7 +1922,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2063,7 +2063,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @deprecated in favour of {@link #locale()}
*/
@NotNull

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage API
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index c2905745cd54ace5f84b7119692a4ebfd9864d16..0859c5eecefe279b463a50b064c0d666191fabc7 100644
index 38762db5c3383c3663a328ac591b0f6b25ac7f5a..d093d43380e09426f9430460a8626f8dcd675f22 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -2419,5 +2419,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
@@ -2560,5 +2560,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
* @param invulnerableTicks Invulnerable ticks remaining
*/
void setSpawnInvulnerableTicks(int invulnerableTicks);

View File

@@ -1,99 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 17 Aug 2021 17:39:14 -0500
Subject: [PATCH] Add force and prompt parameters to resource pack api
diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java
index 0859c5eecefe279b463a50b064c0d666191fabc7..1964d44571b442649f7e9f1d4aa5d284d32c93de 100644
--- a/src/main/java/org/bukkit/entity/Player.java
+++ b/src/main/java/org/bukkit/entity/Player.java
@@ -1520,6 +1520,88 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM
*/
public void setResourcePack(@NotNull String url, @NotNull byte[] hash);
+ // Purpur start
+ /**
+ * Request that the player's client download and switch resource packs.
+ * <p>
+ * The player's client will download the new resource pack asynchronously
+ * in the background, and will automatically switch to it once the
+ * download is complete. If the client has downloaded and cached a
+ * resource pack with the same hash in the past it will not download but
+ * directly apply the cached pack. When this request is sent for the very
+ * first time from a given server, the client will first display a
+ * confirmation GUI to the player before proceeding with the download.
+ * <p>
+ * Notes:
+ * <ul>
+ * <li>Players can disable server resources on their client, in which
+ * case this method will have no affect on them. Use the
+ * {@link PlayerResourcePackStatusEvent} to figure out whether or not
+ * the player loaded the pack!
+ * <li>There is no concept of resetting resource packs back to default
+ * within Minecraft, so players will have to relog to do so or you
+ * have to send an empty pack.
+ * </ul>
+ *
+ * @param url The URL from which the client will download the resource
+ * pack. The string must contain only US-ASCII characters and should
+ * be encoded as per RFC 1738.
+ * @param hash The sha1 hash sum of the resource pack file which is used
+ * to apply a cached version of the pack directly without downloading
+ * if it is available. Hast to be 20 bytes long!
+ * @param force If true, players will get kicked from the server if the
+ * resource pack is denied.
+ * @param prompt The server message added to the resource pack prompt.
+ * @throws IllegalArgumentException Thrown if the URL is null.
+ * @throws IllegalArgumentException Thrown if the URL is too long. The
+ * length restriction is an implementation specific arbitrary value.
+ * @throws IllegalArgumentException Thrown if the hash is null.
+ * @throws IllegalArgumentException Thrown if the hash is not 20 bytes
+ * long.
+ */
+ void setResourcePack(@NotNull String url, @NotNull byte[] hash, boolean force, @Nullable String prompt);
+
+ /**
+ * Request that the player's client download and switch resource packs.
+ * <p>
+ * The player's client will download the new resource pack asynchronously
+ * in the background, and will automatically switch to it once the
+ * download is complete. If the client has downloaded and cached a
+ * resource pack with the same hash in the past it will not download but
+ * directly apply the cached pack. When this request is sent for the very
+ * first time from a given server, the client will first display a
+ * confirmation GUI to the player before proceeding with the download.
+ * <p>
+ * Notes:
+ * <ul>
+ * <li>Players can disable server resources on their client, in which
+ * case this method will have no affect on them. Use the
+ * {@link PlayerResourcePackStatusEvent} to figure out whether or not
+ * the player loaded the pack!
+ * <li>There is no concept of resetting resource packs back to default
+ * within Minecraft, so players will have to relog to do so or you
+ * have to send an empty pack.
+ * </ul>
+ *
+ * @param url The URL from which the client will download the resource
+ * pack. The string must contain only US-ASCII characters and should
+ * be encoded as per RFC 1738.
+ * @param hash The sha1 hash sum of the resource pack file which is used
+ * to apply a cached version of the pack directly without downloading
+ * if it is available. Hast to be 20 bytes long!
+ * @param force If true, players will get kicked from the server if the
+ * resource pack is denied.
+ * @param prompt The server message added to the resource pack prompt.
+ * @throws IllegalArgumentException Thrown if the URL is null.
+ * @throws IllegalArgumentException Thrown if the URL is too long. The
+ * length restriction is an implementation specific arbitrary value.
+ * @throws IllegalArgumentException Thrown if the hash is null.
+ * @throws IllegalArgumentException Thrown if the hash is not 20 bytes
+ * long.
+ */
+ void setResourcePack(@NotNull String url, @NotNull byte[] hash, boolean force, @Nullable net.kyori.adventure.text.Component prompt);
+ // Purpur end
+
/**
* Gets the Scoreboard displayed to this player
*

View File

@@ -5,10 +5,10 @@ Subject: [PATCH] Added the ability to add combustible items
diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java
index fbef0ab6514f9a2ab1e48e9f973992221ab09552..5bfdc308b5133c0cbe7cccfa26bd2135ccd4603b 100644
index 4234d01ed793390ec3fb5fb69cf26102b92be020..91c1d04b77929438bb5c79d8829e14b161b4f2d9 100644
--- a/src/main/java/org/bukkit/Bukkit.java
+++ b/src/main/java/org/bukkit/Bukkit.java
@@ -2157,5 +2157,24 @@ public final class Bukkit {
@@ -2200,5 +2200,24 @@ public final class Bukkit {
public static boolean isLagging() {
return server.isLagging();
}
@@ -34,10 +34,10 @@ index fbef0ab6514f9a2ab1e48e9f973992221ab09552..5bfdc308b5133c0cbe7cccfa26bd2135
// Purpur end
}
diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java
index 7fa99fadfe5558fddf2aeef51ca824a59a55f7d4..d8cf62e42dcff4414dcd5c1979a89a32a975da44 100644
index fee029f0a4b5cbd2b5ab9315a53c03bd6bf0a290..2c4dfcf909c0214d25232a14635b96f92d4d974a 100644
--- a/src/main/java/org/bukkit/Server.java
+++ b/src/main/java/org/bukkit/Server.java
@@ -1883,5 +1883,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
@@ -1918,5 +1918,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi
* @return True if lagging
*/
boolean isLagging();

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand
diff --git a/build.gradle.kts b/build.gradle.kts
index 8e941079410a1a0b347fa811190fb6771a185319..c2ed6509227843419d8117a6113e916cffe2aeba 100644
index da31e84cb558e6fad9cab015cfae753ce7be7db0..07f572b9aa249e154bc08ecf8517c3953392b74f 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -18,8 +18,12 @@ repositories {
@@ -31,7 +31,7 @@ index 8e941079410a1a0b347fa811190fb6771a185319..c2ed6509227843419d8117a6113e916c
+ implementation("dev.omega24:upnp4j:1.0") // Purpur
testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test
testImplementation("junit:junit:4.13.1")
testImplementation("junit:junit:4.13.2")
@@ -68,7 +74,7 @@ tasks.jar {
attributes(
"Main-Class" to "org.bukkit.craftbukkit.Main",
@@ -148,10 +148,10 @@ index 38a0fb9a7c4ade9cacfd30dffabfea7e6b773981..fd3d3e22613511a42f7fc343079b081c
// Spigot end
DedicatedServer.LOGGER.warn("To change this, set \"online-mode\" to \"true\" in the server.properties file.");
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index b70a6d126e80d775870cfececf6724cde89d4554..2c31a0c1e76c92aa3ca8aa97a30d79675dea7e85 100644
index ba7023e7ca5d29375ff53c2951892138d155f69f..c94053599f30f61a67c20d61b41963ce1326db07 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -253,7 +253,7 @@ import javax.annotation.Nullable; // Paper
@@ -254,7 +254,7 @@ import javax.annotation.Nullable; // Paper
import javax.annotation.Nonnull; // Paper
public final class CraftServer implements Server {

View File

@@ -106,10 +106,10 @@ index 4247dcb003626535dbb997f48ad9f61380bd17e9..03a4c5fa746033825c26a031fbf79f72
this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env);
this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 2c31a0c1e76c92aa3ca8aa97a30d79675dea7e85..5566c149b6c44a13ea65ab8ccb61055afbb2e277 100644
index c94053599f30f61a67c20d61b41963ce1326db07..df6eec75dc80f18b7804d1b5a181b4d5fd573abb 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -931,6 +931,7 @@ public final class CraftServer implements Server {
@@ -952,6 +952,7 @@ public final class CraftServer implements Server {
org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot
com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper
@@ -117,7 +117,7 @@ index 2c31a0c1e76c92aa3ca8aa97a30d79675dea7e85..5566c149b6c44a13ea65ab8ccb61055a
for (ServerLevel world : this.console.getAllLevels()) {
// world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty
world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters, config.spawnAnimals); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean))
@@ -971,6 +972,7 @@ public final class CraftServer implements Server {
@@ -992,6 +993,7 @@ public final class CraftServer implements Server {
}
world.spigotConfig.init(); // Spigot
world.paperConfig.init(); // Paper
@@ -125,7 +125,7 @@ index 2c31a0c1e76c92aa3ca8aa97a30d79675dea7e85..5566c149b6c44a13ea65ab8ccb61055a
}
Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper
@@ -986,6 +988,7 @@ public final class CraftServer implements Server {
@@ -1007,6 +1009,7 @@ public final class CraftServer implements Server {
this.reloadData();
org.spigotmc.SpigotConfig.registerCommands(); // Spigot
com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper
@@ -133,7 +133,7 @@ index 2c31a0c1e76c92aa3ca8aa97a30d79675dea7e85..5566c149b6c44a13ea65ab8ccb61055a
this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*");
this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions");
@@ -2641,6 +2644,18 @@ public final class CraftServer implements Server {
@@ -2662,6 +2665,18 @@ public final class CraftServer implements Server {
return com.destroystokyo.paper.PaperConfig.config;
}

View File

@@ -43,10 +43,10 @@ index 057fcbc389e54e0c9f7a90a3e8b965cd46db9d58..7de5cf6d7ebd0ab14f1478d466cf5393
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 c6cd4a5790384811f3171ce740afb9459f3d6fc0..f32a4aaa0f027b71043109c78c8a5e18e0397350 100644
index 74acf429b97476974f844a9621d059c935fcb4bd..cf2af2734dbf3b4f35a7e3dd79233cde6c7e728a 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2577,4 +2577,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2594,4 +2594,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.spigot;
}
// Spigot end

View File

@@ -213,7 +213,7 @@ index 6df710cecea9a5c91ccf8bdaec60bdc88a601777..6b0cee0bd6218492b184f94a84da9acf
if (range < 0.0D || d < range * range) {
return true;
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index f32a4aaa0f027b71043109c78c8a5e18e0397350..db49d331e76a0c86515cb06caba8d6e1853c77f4 100644
index cf2af2734dbf3b4f35a7e3dd79233cde6c7e728a..a26fa7bf9f2b2213b313c7762a6af7bc548a99b2 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -429,10 +429,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -233,7 +233,7 @@ index f32a4aaa0f027b71043109c78c8a5e18e0397350..db49d331e76a0c86515cb06caba8d6e1
for (ServerPlayer player : (List<ServerPlayer>) server.getHandle().players) {
if (player.getBukkitEntity().canSee(this)) {
player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle()));
@@ -2583,5 +2588,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2600,5 +2605,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public boolean usesPurpurClient() {
return getHandle().purpurClient;
}

View File

@@ -17,10 +17,10 @@ index f944e6beafc7876ed9c6923a22f58d82967b77cb..e1c7b7a659e56fa5b3a1f52cb2ccc99b
public final boolean spawnNpcs = this.get("spawn-npcs", true);
public final boolean pvp = this.get("pvp", true);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 5566c149b6c44a13ea65ab8ccb61055afbb2e277..da5651f61be49bcceb9b912f155b24c511a9a5ca 100644
index df6eec75dc80f18b7804d1b5a181b4d5fd573abb..484111518d60c4f764f4c59b45cff96b86a6dbbe 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2810,4 +2810,11 @@ public final class CraftServer implements Server {
@@ -2831,4 +2831,11 @@ public final class CraftServer implements Server {
}
// Paper end

View File

@@ -25,10 +25,10 @@ index 1cb6c989a0b21df7dff72062550daa09721d7687..4d89c9de4b4aae4452750fb941a2e610
}
// Spigot end
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index da5651f61be49bcceb9b912f155b24c511a9a5ca..cc0e2adaa6f857ad646b1a853faf7a979af9de7b 100644
index 484111518d60c4f764f4c59b45cff96b86a6dbbe..a45996f5668cbf070a59ec8296c940b1ff08f8f2 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2816,5 +2816,10 @@ public final class CraftServer implements Server {
@@ -2837,5 +2837,10 @@ public final class CraftServer implements Server {
public String getServerName() {
return this.getProperties().serverName;
}

View File

@@ -121,10 +121,10 @@ index 6ec5a8a52ec06be917f2ca682f5920ed5ae1a82c..aca10a81a90c7ef81b4167b868f3893a
return entityplayer1;
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index db49d331e76a0c86515cb06caba8d6e1853c77f4..e251821c59a2a07dc6e1b3f984641a0e549c315a 100644
index a26fa7bf9f2b2213b313c7762a6af7bc548a99b2..508c86e6481e9a4cd68d3af5d2d7709160b3479f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2603,5 +2603,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2620,5 +2620,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void resetIdleTimer() {
getHandle().resetLastActionTime();
}

View File

@@ -69,10 +69,10 @@ index 55067e47a9907f038bf77f5dda2f395773472ceb..70dfa4d3b7a2c9b2a47000bf26100f17
lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur
tickSection = curTime;
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index cc0e2adaa6f857ad646b1a853faf7a979af9de7b..0f3c8b754d8c349125c1debb060c3e17364aba9b 100644
index a45996f5668cbf070a59ec8296c940b1ff08f8f2..f0f3e9d0645e882da7d71e0a1051da30f1e6a41f 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -2598,6 +2598,7 @@ public final class CraftServer implements Server {
@@ -2619,6 +2619,7 @@ public final class CraftServer implements Server {
@Override
public double[] getTPS() {
return new double[] {

View File

@@ -26,10 +26,10 @@ index 4252ff0201cbfbecc7b95ca86c1763dc5d88a4d7..535bc6d57d153a62f2cbf57747586de3
} else {
if (fallDistance >= 2.0F) {
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index e92c9815ce3f41760e4a31b01ce90d0818657521..9879a38526648652d3c8362d7166bd0217385043 100644
index 6691abc34043b39460eccd98311c9d8efbefa8a0..2622cf83dd501b982fdd20b31d174bb0d63d1218 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -2628,5 +2628,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -2645,5 +2645,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) {
getHandle().spawnInvulnerableTime = spawnInvulnerableTime;
}

View File

@@ -20,10 +20,10 @@ index 455776981274e64724376a3182b60784b56db9cf..cd859eec6b0bee44bce83614e5570938
thread.setDaemon(true);
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index d397daf9a6b2128735a0732565a41be9197742a4..52686415c7a37c14c16537d44f6b2c6420accb87 100644
index f0f3e9d0645e882da7d71e0a1051da30f1e6a41f..71ba48fee88aad08883ae65e0b6eb4a674343f32 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -293,7 +293,7 @@ public final class CraftServer implements Server {
@@ -294,7 +294,7 @@ public final class CraftServer implements Server {
public int reloadCount;
private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper
public static Exception excessiveVelEx; // Paper - Velocity warnings

View File

@@ -1,44 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: William Blake Galbreath <blake.galbreath@gmail.com>
Date: Tue, 17 Aug 2021 17:39:21 -0500
Subject: [PATCH] Add force and prompt parameters to resource pack api
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 9879a38526648652d3c8362d7166bd0217385043..0fd434f4f2909fa03739a3a2b5c3dce5689c8a2c 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -27,6 +27,8 @@ import java.util.WeakHashMap;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Nullable;
+
+import io.papermc.paper.adventure.PaperAdventure;
import net.minecraft.Util;
import net.minecraft.advancements.AdvancementProgress;
import net.minecraft.core.BlockPos;
@@ -1730,11 +1732,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@Override
public void setResourcePack(String url, byte[] hash) {
+ // Purpur start
+ this.setResourcePack(url, hash, false, (net.kyori.adventure.text.Component) null);
+ }
+
+ @Override
+ public void setResourcePack(String url, byte[] hash, boolean force, String prompt) {
+ this.setResourcePack(url, hash, force, prompt == null ? null : io.papermc.paper.adventure.PaperAdventure.LEGACY_SECTION_UXRC.deserialize(prompt));
+ }
+
+ @Override
+ public void setResourcePack(String url, byte[] hash, boolean force, net.kyori.adventure.text.Component prompt) {
+ // Purpur end
Validate.notNull(url, "Resource pack URL cannot be null");
Validate.notNull(hash, "Resource pack hash cannot be null");
Validate.isTrue(hash.length == 20, "Resource pack hash should be 20 bytes long but was " + hash.length);
- this.getHandle().sendTexturePack(url, BaseEncoding.base16().lowerCase().encode(hash), false, null);
+ this.getHandle().sendTexturePack(url, BaseEncoding.base16().lowerCase().encode(hash), force, prompt == null ? null : io.papermc.paper.adventure.PaperAdventure.asVanilla(prompt)); // Purpur
}
public void addChannel(String channel) {

View File

@@ -223,10 +223,10 @@ index 88bc0807e8bf66a65422f85f1112336334eb3de2..d0e822b329085b9d0a42276c3cacd6cb
+ // Purpur end - OfflinePlayer API
}
diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
index 0fd434f4f2909fa03739a3a2b5c3dce5689c8a2c..58c250e3b7606319f422e2d716de66d916ea4b9a 100644
index 2622cf83dd501b982fdd20b31d174bb0d63d1218..928b249faed2d79a5f74c612e5ab38ab82b0a26f 100644
--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
+++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java
@@ -1905,6 +1905,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
@@ -1908,6 +1908,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player {
return this.getHandle().getAbilities().walkingSpeed * 2f;
}

View File

@@ -51,10 +51,10 @@ index 0d9b592ebfd22dc679ba7dbfd339db4d6bc5ad44..f5fd6e0fd67c1b760000c2e75ce09d1c
private int maxStack = MAX_STACK;
public List<HumanEntity> transaction = new java.util.ArrayList<HumanEntity>();
diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
index 52686415c7a37c14c16537d44f6b2c6420accb87..00a41213ee1c03fe1835dc8bc3b12ffe5c6bbafe 100644
index 71ba48fee88aad08883ae65e0b6eb4a674343f32..1b7a3180ff88b0db2aab6e61b286f9b4d0da6862 100644
--- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java
+++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java
@@ -1418,6 +1418,19 @@ public final class CraftServer implements Server {
@@ -1439,6 +1439,19 @@ public final class CraftServer implements Server {
return true;
}

View File

@@ -5,7 +5,7 @@ Subject: [PATCH] UPnP Port Forwarding
diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java
index 3d45aa3cf8e25790dba332105c397dce2b1ef5b1..5d1bd07046af00aea3bde2f1000a4b8a1d8528cb 100644
index 022cf286342abe9f5349b70e096373a0db2a810d..58143bf03bd3314a4b7b40acb72e203aebce7fa6 100644
--- a/src/main/java/net/minecraft/server/MinecraftServer.java
+++ b/src/main/java/net/minecraft/server/MinecraftServer.java
@@ -309,6 +309,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop<TickTa