Updated Upstream (Bukkit/CraftBukkit)

Upstream has released updates that appear to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing

Bukkit Changes:
304e83eb PR-1002: Improve documentation and implementation of getMaxStackSize
e8215ea2 SPIGOT-7638: Library loader does not seem to resolve every dependency
79c595c0 SPIGOT-7637: Bad logic in checking nullability of AttributeModifier slots

CraftBukkit Changes:
91b1fc3f1 SPIGOT-7644: Fix ItemMeta#getAsString
4e77a81e1 SPIGOT-7615: PlayerLeashEntityEvent cancelled eats lead
996f660f3 Do not remove leash knot if leasing to an existing leash knot gets cancelled
f70367d42 SPIGOT-7643: Fix inverted leash event cancelled usage and remove leash knot if no entity gets leashed
7ddb48294 SPIGOT-7640: Abnormal jumping height of wind charge
080c8711e SPIGOT-7639: Incoming plugin channels not working
ad549847e Open a direct connection instead of pinging mojang server to check if it is reachable
38e2926c5 SPIGOT-7365: DamageCause blocked by shield should trigger invulnerableTime
This commit is contained in:
Jake Potrebic 2024-04-27 18:00:01 -07:00
parent d964c15e15
commit 3e90a19183
No known key found for this signature in database
GPG key ID: ECE0B3C133C016C5
196 changed files with 435 additions and 439 deletions

View file

@ -4323,7 +4323,7 @@ index 60ebfab9596f26cfd2d75a43f3f88f2dd56575f3..dbaf54018a7dd392378869a5a302a880
+ // Paper end - Adventure
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index cf1733bc76d1e29ad0f533f6e49818f83e8e3358..f2a6f62f0344684668febc0999b81748c6737826 100644
index 257b5db1aa58d57cfbf5bd1f17f9df6c509bef90..53cc84d1ef6e281e8637ec7406236e1185ad7d82 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -23,7 +23,7 @@ import org.jetbrains.annotations.Nullable;
@ -4335,7 +4335,7 @@ index cf1733bc76d1e29ad0f533f6e49818f83e8e3358..f2a6f62f0344684668febc0999b81748
private Material type = Material.AIR;
private int amount = 0;
private MaterialData data = null;
@@ -614,4 +614,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -617,4 +617,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public String getTranslationKey() {
return Bukkit.getUnsafe().getTranslationKey(this);
}

View file

@ -2062,7 +2062,7 @@ index 047c0304fd617cec990f80815b43916c6ef5a94c..ab04ffe4cd05315a2ee0f64c553b4c67
throw ex;
} catch (Throwable ex) {
diff --git a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
index 6d634b0ea813ccb19f1562a7d0e5a59cea4eab21..653135352c104a6ddeb74a1b6d4916c6952d6271 100644
index 160f8c348271154c672adf936b358ffeb3b63e69..f4d655a158410039305ac68cebe0d79000f73df8 100644
--- a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
+++ b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java
@@ -36,7 +36,10 @@ import org.eclipse.aether.transport.http.HttpTransporterFactory;
@ -2085,7 +2085,7 @@ index 6d634b0ea813ccb19f1562a7d0e5a59cea4eab21..653135352c104a6ddeb74a1b6d4916c6
session.setChecksumPolicy( RepositoryPolicy.CHECKSUM_POLICY_FAIL );
session.setLocalRepositoryManager( repository.newLocalRepositoryManager( session, new LocalRepository( "libraries" ) ) );
session.setTransferListener( new AbstractTransferListener()
@@ -79,7 +83,7 @@ class LibraryLoader
@@ -84,7 +88,7 @@ class LibraryLoader
}
logger.log( Level.INFO, "[{0}] Loading {1} libraries... please wait", new Object[]
{
@ -2094,7 +2094,7 @@ index 6d634b0ea813ccb19f1562a7d0e5a59cea4eab21..653135352c104a6ddeb74a1b6d4916c6
} );
List<Dependency> dependencies = new ArrayList<>();
@@ -117,7 +121,7 @@ class LibraryLoader
@@ -122,7 +126,7 @@ class LibraryLoader
jarFiles.add( url );
logger.log( Level.INFO, "[{0}] Loaded library {1}", new Object[]
{

View file

@ -33,10 +33,10 @@ index dbaf54018a7dd392378869a5a302a880c7a56338..213e3f3de731d85f788a4bfa8d912e1b
+ // Paper end - add getI18NDisplayName
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index f2a6f62f0344684668febc0999b81748c6737826..d1bce73317fa1dfd35c8b3f94415ba8721c758d6 100644
index 53cc84d1ef6e281e8637ec7406236e1185ad7d82..22bb39a8f124d55b1dce1bcb981a94d763959e59 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -630,5 +630,20 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -633,5 +633,20 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public net.kyori.adventure.text.@NotNull Component displayName() {
return Bukkit.getServer().getItemFactory().displayName(this);
}

View file

@ -30,10 +30,10 @@ index 213e3f3de731d85f788a4bfa8d912e1b59c3c045..898c256140cc7fee2c0cc65cca33a0e8
+ // Paper end - ensure server conversions API
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index d1bce73317fa1dfd35c8b3f94415ba8721c758d6..a71b7f418ca3edb4695b57e5021732c591cfb13f 100644
index 22bb39a8f124d55b1dce1bcb981a94d763959e59..0586a64b780f0dee9899a42ca4ee28d12efd749a 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -549,7 +549,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -552,7 +552,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
}
}
@ -42,7 +42,7 @@ index d1bce73317fa1dfd35c8b3f94415ba8721c758d6..a71b7f418ca3edb4695b57e5021732c5
}
/**
@@ -631,6 +631,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -634,6 +634,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return Bukkit.getServer().getItemFactory().displayName(this);
}

View file

@ -6,10 +6,10 @@ Subject: [PATCH] ItemStack#getMaxItemUseDuration
Allows you to determine how long it takes to use a usable/consumable item
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index a71b7f418ca3edb4695b57e5021732c591cfb13f..7afb1b4fde29d09ad2289956531daded56b02147 100644
index 0586a64b780f0dee9899a42ca4ee28d12efd749a..b92a86e9d128b1ce6f02962574e30ced74e44bc8 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -658,5 +658,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -661,5 +661,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public String getI18NDisplayName() {
return Bukkit.getServer().getItemFactory().getI18NDisplayName(this);
}

View file

@ -5,7 +5,7 @@ Subject: [PATCH] ItemStack API additions for quantity/flags/lore
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 7afb1b4fde29d09ad2289956531daded56b02147..c1e64e09d792da7c7918e401b306f8945a0ff32d 100644
index b92a86e9d128b1ce6f02962574e30ced74e44bc8..e388239d6d960af2102111d2ae90b2a655b2a94a 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -3,6 +3,7 @@ package org.bukkit.inventory;
@ -16,7 +16,7 @@ index 7afb1b4fde29d09ad2289956531daded56b02147..c1e64e09d792da7c7918e401b306f894
import java.util.Map;
import org.bukkit.Bukkit;
import org.bukkit.Material;
@@ -666,5 +667,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -669,5 +670,185 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
// Requires access to NMS
return ensureServerConversions().getMaxItemUseDuration();
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Material API additions
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index fe9c5ccdbaf4a83367f2d1c9c18044665eadf81d..ab4c1d853ed030c6cf2945793e7655509c954f0b 100644
index 2750e143a3ac20797e16a15b687952157197d562..c2808db693647bdf3b9617cb6c665e8499874485 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -123,6 +123,7 @@ import org.jetbrains.annotations.Nullable;
@@ -125,6 +125,7 @@ import org.jetbrains.annotations.Nullable;
/**
* An enum of all material IDs accepted by the official server and client
*/
@ -16,7 +16,7 @@ index fe9c5ccdbaf4a83367f2d1c9c18044665eadf81d..ab4c1d853ed030c6cf2945793e765550
public enum Material implements Keyed, Translatable {
//<editor-fold desc="Materials" defaultstate="collapsed">
AIR(9648, 0),
@@ -4723,6 +4724,22 @@ public enum Material implements Keyed, Translatable {
@@ -4725,6 +4726,22 @@ public enum Material implements Keyed, Translatable {
}
}

View file

@ -300,10 +300,10 @@ index 02b4ffa6b918269bd64f7c518fcceef1f6990737..f0878c7539696cc0676e6010e88914d3
if (this.world == null) {
return null;
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index ab4c1d853ed030c6cf2945793e7655509c954f0b..22459bc96a97734b06985dc3a8ff4358f280f505 100644
index c2808db693647bdf3b9617cb6c665e8499874485..c605da711c032f7091390e50b4a5d332c992d3d1 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -4744,20 +4744,20 @@ public enum Material implements Keyed, Translatable {
@@ -4746,20 +4746,20 @@ public enum Material implements Keyed, Translatable {
* Do not use for any reason.
*
* @return ID of this material
@ -328,7 +328,7 @@ index ab4c1d853ed030c6cf2945793e7655509c954f0b..22459bc96a97734b06985dc3a8ff4358
public boolean isLegacy() {
return legacy;
}
@@ -4828,8 +4828,10 @@ public enum Material implements Keyed, Translatable {
@@ -4835,8 +4835,10 @@ public enum Material implements Keyed, Translatable {
* Gets the MaterialData class associated with this Material
*
* @return MaterialData associated with this Material
@ -339,7 +339,7 @@ index ab4c1d853ed030c6cf2945793e7655509c954f0b..22459bc96a97734b06985dc3a8ff4358
public Class<? extends MaterialData> getData() {
Preconditions.checkArgument(legacy, "Cannot get data class of Modern Material");
return ctor.getDeclaringClass();
@@ -9096,7 +9098,11 @@ public enum Material implements Keyed, Translatable {
@@ -9103,7 +9105,11 @@ public enum Material implements Keyed, Translatable {
* material.
*
* @return true if this material can be interacted with.
@ -1412,7 +1412,7 @@ index 898c256140cc7fee2c0cc65cca33a0e86275f115..e34c89a945a0f12cdc4be8cc232c8de9
/**
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index c1e64e09d792da7c7918e401b306f8945a0ff32d..aa8c6a57fb78fcb2e5ecff01f5d2f5871ac4161a 100644
index e388239d6d960af2102111d2ae90b2a655b2a94a..276cfd52817115981fe7dc46363278f8b8c5aee3 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -8,6 +8,7 @@ import java.util.Map;
@ -1444,7 +1444,7 @@ index c1e64e09d792da7c7918e401b306f8945a0ff32d..aa8c6a57fb78fcb2e5ecff01f5d2f587
public void setData(@Nullable MaterialData data) {
if (data == null) {
this.data = data;
@@ -558,7 +563,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -561,7 +566,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
*
* @return a copy of the current ItemStack's ItemData
*/

View file

@ -20,10 +20,10 @@ index d69e5fa40702c283c370a2f712b51dc2ea3a1fa0..30d869a7c4bba79b4c05de7860b31c14
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index aa8c6a57fb78fcb2e5ecff01f5d2f5871ac4161a..65fc0bca47ea32069ddc6e838a0db28f13638390 100644
index 276cfd52817115981fe7dc46363278f8b8c5aee3..e82eeadc7cb53572351670761c4e592a33345c6b 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -650,6 +650,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -653,6 +653,30 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return Bukkit.getServer().getItemFactory().ensureServerConversions(this);
}

View file

@ -144,10 +144,10 @@ index dc66bd69646ac949d1386ce8f6ff913e9475439d..4482e8f2c617c2f51b2b53762e775d11
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index 22459bc96a97734b06985dc3a8ff4358f280f505..afdd4288b0df3e4d89ed4701ea9ec742028fc956 100644
index c605da711c032f7091390e50b4a5d332c992d3d1..61e0739f002a949a204c7591dfa3074560d1459e 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -124,7 +124,7 @@ import org.jetbrains.annotations.Nullable;
@@ -126,7 +126,7 @@ import org.jetbrains.annotations.Nullable;
* An enum of all material IDs accepted by the official server and client
*/
@SuppressWarnings({"DeprecatedIsStillUsed", "deprecation"}) // Paper
@ -156,7 +156,7 @@ index 22459bc96a97734b06985dc3a8ff4358f280f505..afdd4288b0df3e4d89ed4701ea9ec742
//<editor-fold desc="Materials" defaultstate="collapsed">
AIR(9648, 0),
STONE(22948),
@@ -4738,6 +4738,15 @@ public enum Material implements Keyed, Translatable {
@@ -4740,6 +4740,15 @@ public enum Material implements Keyed, Translatable {
}
return false;
}
@ -172,7 +172,7 @@ index 22459bc96a97734b06985dc3a8ff4358f280f505..afdd4288b0df3e4d89ed4701ea9ec742
// Paper end
/**
@@ -11474,9 +11483,11 @@ public enum Material implements Keyed, Translatable {
@@ -11481,9 +11490,11 @@ public enum Material implements Keyed, Translatable {
* material
* @see #getBlockTranslationKey()
* @see #getItemTranslationKey()
@ -480,7 +480,7 @@ index 5bd252c0ae3b09fe141d131360c67bb9bfbf5422..78587d9fabe6371a23a7963917b054db
+
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 65fc0bca47ea32069ddc6e838a0db28f13638390..96b6052c198454f06f877fc7cda85a98c0ddba7c 100644
index e82eeadc7cb53572351670761c4e592a33345c6b..645cff10eef90826bb44bbe937b141289f182cde 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -25,7 +25,7 @@ import org.jetbrains.annotations.Nullable;
@ -492,7 +492,7 @@ index 65fc0bca47ea32069ddc6e838a0db28f13638390..96b6052c198454f06f877fc7cda85a98
private Material type = Material.AIR;
private int amount = 0;
private MaterialData data = null;
@@ -617,6 +617,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -620,6 +620,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@Override
@NotNull
@ -500,7 +500,7 @@ index 65fc0bca47ea32069ddc6e838a0db28f13638390..96b6052c198454f06f877fc7cda85a98
public String getTranslationKey() {
return Bukkit.getUnsafe().getTranslationKey(this);
}
@@ -876,5 +877,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -879,5 +880,16 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
ItemMeta itemMeta = getItemMeta();
return itemMeta != null && itemMeta.hasItemFlag(flag);
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Cache the result of Material#isBlock
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index afdd4288b0df3e4d89ed4701ea9ec742028fc956..3ee36de0ee975dc300e594b17d0dc2c06edf2a16 100644
index 61e0739f002a949a204c7591dfa3074560d1459e..5aa595860c73e78cf3c9f2a8984c62744cfe5612 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -4682,6 +4682,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -4684,6 +4684,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
public final Class<?> data;
private final boolean legacy;
private final NamespacedKey key;
@ -16,7 +16,7 @@ index afdd4288b0df3e4d89ed4701ea9ec742028fc956..3ee36de0ee975dc300e594b17d0dc2c0
private Material(final int id) {
this(id, 64);
@@ -4880,6 +4881,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -4887,6 +4888,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
* @return true if this material is a block
*/
public boolean isBlock() {
@ -28,7 +28,7 @@ index afdd4288b0df3e4d89ed4701ea9ec742028fc956..3ee36de0ee975dc300e594b17d0dc2c0
switch (this) {
//<editor-fold defaultstate="collapsed" desc="isBlock">
case ACACIA_BUTTON:
@@ -6124,6 +6130,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -6131,6 +6137,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
static {
for (Material material : values()) {
BY_NAME.put(material.name(), material);

View file

@ -43,10 +43,10 @@ index 0000000000000000000000000000000000000000..f1cd5a4f37eee8975ac3d0421b524afc
+ }
+}
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index 3ee36de0ee975dc300e594b17d0dc2c06edf2a16..2ce1d9239d08c799d53873563646f933211a902e 100644
index 5aa595860c73e78cf3c9f2a8984c62744cfe5612..1e4ebe9bdc6aadf18029377e7ce70ca0d88bd1a1 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -4748,6 +4748,19 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -4750,6 +4750,19 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
return Bukkit.getUnsafe().getBlockTranslationKey(this);
}
}
@ -108,10 +108,10 @@ index e7931f73f10fe35ebd5fe4a04b036d53bb117ebd..cbce835ed6d44e5b8c9aaae4e36a77f8
+ // Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 96b6052c198454f06f877fc7cda85a98c0ddba7c..f9b0b463f9920524eab7f328bc456a30eebc6910 100644
index 645cff10eef90826bb44bbe937b141289f182cde..a92421bbf0ee40ecbe4f272459c6a918dc45344c 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -888,5 +888,17 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -891,5 +891,17 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public @NotNull String translationKey() {
return Bukkit.getUnsafe().getTranslationKey(this);
}

View file

@ -25,10 +25,10 @@ index a874faec93468c83fc475b60629fc36f933bd11c..4130481843c9e0b847bd656622b0c110
// Paper end
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index f9b0b463f9920524eab7f328bc456a30eebc6910..2fb521dc2b4d991f56288e2faba978d9d7d29a0b 100644
index a92421bbf0ee40ecbe4f272459c6a918dc45344c..04ff6579282708c48edee419381c698707fe0a3b 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -900,5 +900,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -903,5 +903,27 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public io.papermc.paper.inventory.ItemRarity getRarity() {
return io.papermc.paper.inventory.ItemRarity.valueOf(this.getItemMeta().getRarity().name());
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack#editMeta
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 2fb521dc2b4d991f56288e2faba978d9d7d29a0b..455e633edc19d29559e66b1d52c532ef1a0fa8df 100644
index 04ff6579282708c48edee419381c698707fe0a3b..351f5c0feec38377fccf09bfc1cef2df88fc2dcd 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -558,6 +558,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -561,6 +561,50 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return result.ensureServerConversions(); // Paper
}

View file

@ -6,10 +6,10 @@ Subject: [PATCH] Attributes API for item defaults
(Now replaced by upstream's API)
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index 2ce1d9239d08c799d53873563646f933211a902e..401645f5e0dfe6c9a0d082b5a76112a882b058ee 100644
index 1e4ebe9bdc6aadf18029377e7ce70ca0d88bd1a1..3cb658023d738617a310099fa3759af253a9f4c2 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -4761,6 +4761,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -4763,6 +4763,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
public io.papermc.paper.inventory.ItemRarity getItemRarity() {
return new org.bukkit.inventory.ItemStack(this).getRarity();
}

View file

@ -5,10 +5,10 @@ Subject: [PATCH] Add isCollidable methods to various places
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index 401645f5e0dfe6c9a0d082b5a76112a882b058ee..8283eccf2578bae50a4c6fd86318e0d5f7cf09df 100644
index 3cb658023d738617a310099fa3759af253a9f4c2..1ca448c9e3a3178663a033617d9414ec085c246a 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -4776,6 +4776,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -4778,6 +4778,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
public Multimap<Attribute, AttributeModifier> getItemAttributes(@NotNull EquipmentSlot equipmentSlot) {
return this.getDefaultAttributeModifiers(equipmentSlot);
}

View file

@ -70,10 +70,10 @@ index dbebaf8172ec6872f56958b9583affde4f8400a4..98a970a6582dca22e719a31559c7bece
+ // Paper end - enchantWithLevels API
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 455e633edc19d29559e66b1d52c532ef1a0fa8df..637b9067973aadece2806cc2b6200a4d3b8d97a1 100644
index 351f5c0feec38377fccf09bfc1cef2df88fc2dcd..7eb4cf0b2f162d650252d81e9d38393f69a69046 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -667,6 +667,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -670,6 +670,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
}
// Paper start

View file

@ -5,12 +5,12 @@ Subject: [PATCH] Add EquipmentSlot convenience methods
diff --git a/src/main/java/org/bukkit/inventory/EquipmentSlot.java b/src/main/java/org/bukkit/inventory/EquipmentSlot.java
index d776a0c183737efcaf94f0911f3a8c1adc2c5ada..e19e708e9bda10e99c07763d162cb140d0189147 100644
index 5642d8af60b6649497aba9b0f6ab7bba7702b9ee..adf0a94f98eb66b3957d4009d83ad5f741e0aa79 100644
--- a/src/main/java/org/bukkit/inventory/EquipmentSlot.java
+++ b/src/main/java/org/bukkit/inventory/EquipmentSlot.java
@@ -32,4 +32,27 @@ public enum EquipmentSlot {
@@ -33,4 +33,27 @@ public enum EquipmentSlot {
public EquipmentSlotGroup getGroup() {
return group;
return group.get();
}
+ // Paper start
+ /**

View file

@ -66,10 +66,10 @@ index 6bfc8a2148f504370df938447f4f6b757f1a516b..208bab1f5a3200f54141c38ee4272629
+ // Paper end - ItemStack damage API
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 637b9067973aadece2806cc2b6200a4d3b8d97a1..d2162e53cefb8f9dc5c52bc1904e860066f43a41 100644
index 7eb4cf0b2f162d650252d81e9d38393f69a69046..6195ac25e7a46542659a263c85f7adac745c2ce4 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -984,5 +984,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -987,5 +987,19 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public boolean canRepair(@NotNull ItemStack toBeRepaired) {
return Bukkit.getUnsafe().isValidRepairItemStack(toBeRepaired, this);
}

View file

@ -6,10 +6,10 @@ Subject: [PATCH] Allow proper checking of empty item stacks
This adds a method to check if an item stack is empty or not. This mirrors vanilla's implementation of the same method.
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index d2162e53cefb8f9dc5c52bc1904e860066f43a41..db02c04a8e9a0b8e1e4518a629d5703398d4ef72 100644
index 6195ac25e7a46542659a263c85f7adac745c2ce4..7cecb04de7d55dcdec1fa3dd255c844e92b1abdb 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -998,5 +998,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -1001,5 +1001,24 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
public @NotNull ItemStack damage(int amount, @NotNull org.bukkit.entity.LivingEntity livingEntity) {
return livingEntity.damageItemStack(this, amount);
}

View file

@ -9,10 +9,10 @@ By removing this check we avoid unnecessarily allocating useless `ItemMeta` obje
This is a leftover from when checking for the item's durability was "free" because the durability was stored in the `ItemStack` itself, this [was changed in Minecraft 1.13](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit/commits/f8b2086d60942eb2cd7ac25a2a1408cb790c222c#src/main/java/org/bukkit/inventory/ItemStack.java).
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index db02c04a8e9a0b8e1e4518a629d5703398d4ef72..0611f19bcdd8230b439b5055713221318dce98e2 100644
index 7cecb04de7d55dcdec1fa3dd255c844e92b1abdb..a1d0e479b9f28378f858f86ba8b0e9b7ddf71446 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -295,7 +295,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -298,7 +298,7 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return true;
}
Material comparisonType = (this.type.isLegacy()) ? Bukkit.getUnsafe().fromLegacy(this.getData(), true) : this.type; // This may be called from legacy item stacks, try to get the right material

View file

@ -27,10 +27,10 @@ index 6b68c92ec894451d99ded3e3df5965cb31d68ed2..fd5e433f930963c102c9c977523a0036
public static final FeatureFlag UPDATE_121 = Bukkit.getUnsafe().getFeatureFlag(NamespacedKey.minecraft("update_1_21"));
}
diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java
index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0aa99af28d 100644
index 1ca448c9e3a3178663a033617d9414ec085c246a..82d009c0bbe4b3026a535e02d6e0ed20c7bd525d 100644
--- a/src/main/java/org/bukkit/Material.java
+++ b/src/main/java/org/bukkit/Material.java
@@ -146,54 +146,67 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -148,54 +148,67 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
* BlockData: {@link Slab}
*/
@MinecraftExperimental(Requires.UPDATE_1_21)
@ -98,7 +98,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a
CHISELED_TUFF_BRICKS(8601),
DRIPSTONE_BLOCK(26227),
/**
@@ -300,6 +313,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -302,6 +315,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
* BlockData: {@link Waterlogged}
*/
@MinecraftExperimental(Requires.UPDATE_1_21)
@ -106,7 +106,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a
HEAVY_CORE(15788, Waterlogged.class),
AMETHYST_BLOCK(18919),
BUDDING_AMETHYST(13963),
@@ -312,12 +326,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -314,12 +328,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
WEATHERED_COPPER(19699),
OXIDIZED_COPPER(19490),
@MinecraftExperimental(Requires.UPDATE_1_21)
@ -123,7 +123,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a
OXIDIZED_CHISELED_COPPER(27719),
CUT_COPPER(32519),
EXPOSED_CUT_COPPER(18000),
@@ -360,12 +378,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -362,12 +380,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
WAXED_WEATHERED_COPPER(5960),
WAXED_OXIDIZED_COPPER(25626),
@MinecraftExperimental(Requires.UPDATE_1_21)
@ -140,7 +140,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a
WAXED_OXIDIZED_CHISELED_COPPER(7735),
WAXED_CUT_COPPER(11030),
WAXED_EXPOSED_CUT_COPPER(30043),
@@ -2107,41 +2129,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -2109,41 +2131,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
* BlockData: {@link Door}
*/
@MinecraftExperimental(Requires.UPDATE_1_21)
@ -190,7 +190,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a
WAXED_OXIDIZED_COPPER_DOOR(23888, Door.class),
/**
* BlockData: {@link TrapDoor}
@@ -2195,41 +2225,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -2197,41 +2227,49 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
* BlockData: {@link TrapDoor}
*/
@MinecraftExperimental(Requires.UPDATE_1_21)
@ -240,7 +240,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a
WAXED_OXIDIZED_COPPER_TRAPDOOR(21450, TrapDoor.class),
/**
* BlockData: {@link Gate}
@@ -2531,6 +2569,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -2533,6 +2571,8 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
EGG(21603, 16),
COMPASS(24139),
RECOVERY_COMPASS(12710),
@ -249,7 +249,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a
BUNDLE(16835, 1),
FISHING_ROD(4167, 1, 64),
CLOCK(14980),
@@ -2637,6 +2677,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -2639,6 +2679,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
* BlockData: {@link Crafter}
*/
@MinecraftExperimental(Requires.UPDATE_1_21)
@ -257,7 +257,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a
CRAFTER(25243, Crafter.class),
FILLED_MAP(23504),
SHEARS(27971, 1, 238),
@@ -2677,8 +2718,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -2679,8 +2720,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
BEE_SPAWN_EGG(22924),
BLAZE_SPAWN_EGG(4759),
@MinecraftExperimental(Requires.UPDATE_1_21)
@ -268,7 +268,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a
BREEZE_SPAWN_EGG(7580),
CAT_SPAWN_EGG(29583),
CAMEL_SPAWN_EGG(14760),
@@ -2755,10 +2798,12 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -2757,10 +2800,12 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
EXPERIENCE_BOTTLE(12858),
FIRE_CHARGE(4842),
@MinecraftExperimental(Requires.UPDATE_1_21)
@ -281,7 +281,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a
MACE(4771, 1, 250),
ITEM_FRAME(27318),
GLOW_ITEM_FRAME(26473),
@@ -3157,8 +3202,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -3159,8 +3204,10 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
RAISER_ARMOR_TRIM_SMITHING_TEMPLATE(29116),
HOST_ARMOR_TRIM_SMITHING_TEMPLATE(12165),
@MinecraftExperimental(Requires.UPDATE_1_21)
@ -292,7 +292,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a
BOLT_ARMOR_TRIM_SMITHING_TEMPLATE(9698),
ANGLER_POTTERY_SHERD(9952),
ARCHER_POTTERY_SHERD(21629),
@@ -3169,9 +3216,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -3171,9 +3218,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
DANGER_POTTERY_SHERD(30506),
EXPLORER_POTTERY_SHERD(5124),
@MinecraftExperimental(Requires.UPDATE_1_21)
@ -304,7 +304,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a
GUSTER_POTTERY_SHERD(28193),
HEART_POTTERY_SHERD(17607),
HEARTBREAK_POTTERY_SHERD(21108),
@@ -3181,6 +3230,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -3183,6 +3232,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
PLENTY_POTTERY_SHERD(28236),
PRIZE_POTTERY_SHERD(4341),
@MinecraftExperimental(Requires.UPDATE_1_21)
@ -312,7 +312,7 @@ index 8283eccf2578bae50a4c6fd86318e0d5f7cf09df..c892610f2127f7415c287fa007ddda0a
SCRAPE_POTTERY_SHERD(30034),
SHEAF_POTTERY_SHERD(23652),
SHELTER_POTTERY_SHERD(28390),
@@ -3190,99 +3240,121 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
@@ -3192,99 +3242,121 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla
* BlockData: {@link Waterlogged}
*/
@MinecraftExperimental(Requires.UPDATE_1_21)

View file

@ -119,10 +119,10 @@ index 7e6bdf3333537491b3421d196779a4eb502f7314..a3ba9249e636d1fb8dad98fab4134360
+ @NotNull java.util.List<net.kyori.adventure.text.Component> computeTooltipLines(@NotNull ItemStack itemStack, @NotNull io.papermc.paper.inventory.tooltip.TooltipContext tooltipContext, @Nullable org.bukkit.entity.Player player); // Paper - expose itemstack tooltip lines
}
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 0611f19bcdd8230b439b5055713221318dce98e2..9440cffffa1d7e75d2d76d55d5608bafd69b645b 100644
index a1d0e479b9f28378f858f86ba8b0e9b7ddf71446..b669df4bd1ff0ecba575d42415973e81bccddbbe 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -1018,4 +1018,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -1021,4 +1021,21 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
return type.isAir() || amount <= 0;
}
// Paper end

View file

@ -5,7 +5,7 @@ Subject: [PATCH] Deprecate ItemStack#setType
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 9440cffffa1d7e75d2d76d55d5608bafd69b645b..91083a135a7e979e32cbb3531b5ef69b7a28f305 100644
index b669df4bd1ff0ecba575d42415973e81bccddbbe..1294f7ce50977dfe72daf535b611386844c205e0 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -134,8 +134,18 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat

View file

@ -47,10 +47,10 @@ index a435f6c8947e4ac50b8c04f37b107055970937dd..92e30c281eab4801298b280bd388a039
/**
* Setting to show/hide item-specific information, including, but not limited to:
diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java
index 91083a135a7e979e32cbb3531b5ef69b7a28f305..2b465bd3264cccd5203775e1aa99dcfa6226368d 100644
index 1294f7ce50977dfe72daf535b611386844c205e0..84a7bf0936d35bf42b5ed038d295d5c31740f472 100644
--- a/src/main/java/org/bukkit/inventory/ItemStack.java
+++ b/src/main/java/org/bukkit/inventory/ItemStack.java
@@ -572,6 +572,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
@@ -575,6 +575,13 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, Translat
Object raw = args.get("meta");
if (raw instanceof ItemMeta) {
((ItemMeta) raw).setVersion(version);