diff --git a/patches/api/0005-Adventure.patch b/patches/api/0005-Adventure.patch index fb3caf264f..d3da3bde12 100644 --- a/patches/api/0005-Adventure.patch +++ b/patches/api/0005-Adventure.patch @@ -1415,7 +1415,7 @@ index 8263a17a46c2aa7f976b37b80933acd850b9434a..e3602c6703b29ffec17ef7806c9deb3e throw new UnsupportedOperationException("Not supported yet."); } diff --git a/src/main/java/org/bukkit/Sound.java b/src/main/java/org/bukkit/Sound.java -index 688a7faa5bdbfc053f0a0b2f55f08b2c456b5923..cd2b985d9867194281821e58861bcd0024bb4526 100644 +index c5ba0f3ad4df1f52efe9795cfe2ded8783657b40..e30ea44c962f685f216dadd174c91a00d880c5cd 100644 --- a/src/main/java/org/bukkit/Sound.java +++ b/src/main/java/org/bukkit/Sound.java @@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; @@ -1427,7 +1427,7 @@ index 688a7faa5bdbfc053f0a0b2f55f08b2c456b5923..cd2b985d9867194281821e58861bcd00 AMBIENT_BASALT_DELTAS_ADDITIONS("ambient.basalt_deltas.additions"), AMBIENT_BASALT_DELTAS_LOOP("ambient.basalt_deltas.loop"), -@@ -1509,4 +1509,11 @@ public enum Sound implements Keyed { +@@ -1512,4 +1512,11 @@ public enum Sound implements Keyed { public NamespacedKey getKey() { return key; } @@ -1508,7 +1508,7 @@ index efb97712cc9dc7c1e12a59f5b94e4f2ad7c6b7d8..3024468af4c073324e536c1cb26beffb return warning == null || warning.value(); } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index c4d2a13d62059ca1f148a9af909f424b745bc8df..5357291ff0f2f20bd87ab9f6e57f6a4f6ff65226 100644 +index 2009f98dc12bc8921cd3108884c1ab65bcfc0109..4c2d252a8298336b0ad23d15fc9290f05e5438c6 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -44,7 +44,7 @@ import org.jetbrains.annotations.Nullable; @@ -4410,7 +4410,7 @@ index 2fbb0b7640dd9b9b0e70d4bc60fbb0310d5ec250..049c70c935fd7a781280d223f74bbbf8 /** diff --git a/src/main/java/org/bukkit/map/MapCursor.java b/src/main/java/org/bukkit/map/MapCursor.java -index 83354b2a38b6261b172b91c1008dcf3313cc4a8f..762d8a53bbfa82edcd725a52d630b61c40503d67 100644 +index b90fd819a781d3a2117ffa25f0864b1576901f9f..7d4f4970dae6fe4eeea6b6b6810dcecfe20d6e51 100644 --- a/src/main/java/org/bukkit/map/MapCursor.java +++ b/src/main/java/org/bukkit/map/MapCursor.java @@ -10,7 +10,7 @@ public final class MapCursor { diff --git a/patches/api/0017-Add-view-distance-API.patch b/patches/api/0017-Add-view-distance-API.patch index 6fe8772dcf..7ec3d43852 100644 --- a/patches/api/0017-Add-view-distance-API.patch +++ b/patches/api/0017-Add-view-distance-API.patch @@ -8,7 +8,7 @@ Add per player no-tick, tick, and send view distances. Also add send/no-tick view distance to World. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 5357291ff0f2f20bd87ab9f6e57f6a4f6ff65226..887aa6217583d224d66f6d238ac269c23725d459 100644 +index 4c2d252a8298336b0ad23d15fc9290f05e5438c6..20a949a65a92e1d4c5162585339732377b8fba0c 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -2662,6 +2662,62 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0051-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/api/0051-Provide-E-TE-Chunk-count-stat-methods.patch index 225703e290..a8e231d2f7 100644 --- a/patches/api/0051-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/patches/api/0051-Provide-E-TE-Chunk-count-stat-methods.patch @@ -7,7 +7,7 @@ Provides counts without the ineffeciency of using .getEntities().size() which creates copy of the collections. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 887aa6217583d224d66f6d238ac269c23725d459..4ef6bbfa753da439ac57bd8d70dd114d73665c8d 100644 +index 20a949a65a92e1d4c5162585339732377b8fba0c..9c8cfd05bbac5155b723414113ab9a9ec9ada81f 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -46,6 +46,33 @@ import org.jetbrains.annotations.Nullable; diff --git a/patches/api/0055-Fix-upstream-javadocs.patch b/patches/api/0055-Fix-upstream-javadocs.patch index 9dfe88faac..038bf29af0 100644 --- a/patches/api/0055-Fix-upstream-javadocs.patch +++ b/patches/api/0055-Fix-upstream-javadocs.patch @@ -94,7 +94,7 @@ index 73b782c3975ad13159b6236976783fcfabd20493..e9cbbdf310e48011ee538c5592baee25 CHERRY_LEAVES, EGG_CRACK, diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index 43f5aab2fe70af5f570de1f21eca83905f1e2f57..05c29cbd2ae1ca0434a90f8389479bd608ca2ac1 100644 +index 02de62c083ceaa466c80cb732e8304b8cc3f07f8..7c2b1eff41dd43fda84d84e76c05bbbf37c186b8 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java @@ -158,7 +158,7 @@ public interface RegionAccessor { @@ -161,7 +161,7 @@ index 22d508a6c80d7e19352bceb57009fdbcb16bc723..3c1862b9a9293155f756615b5bd23cc8 * @return an array containing all previous players */ diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 4ef6bbfa753da439ac57bd8d70dd114d73665c8d..7f23527168a33b92d823f76765edfe00abe0e4f6 100644 +index 9c8cfd05bbac5155b723414113ab9a9ec9ada81f..bb36bb6e98d36d407fc0ed8e9562feffb45f3f97 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -2576,7 +2576,7 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch b/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch index 6f67308e36..533c79b5e9 100644 --- a/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch +++ b/patches/api/0098-Additional-world.getNearbyEntities-API-s.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Additional world.getNearbyEntities API's Provides more methods to get nearby entities, and filter by types and predicates diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 7f23527168a33b92d823f76765edfe00abe0e4f6..0f76496471c50d5f18cedc735e667265e6c27422 100644 +index bb36bb6e98d36d407fc0ed8e9562feffb45f3f97..51e7c662f2d56c1a99818497315e75d661494145 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1,6 +1,9 @@ diff --git a/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch index eba56ef2d0..8fdb4dc523 100644 --- a/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/api/0100-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -522,7 +522,7 @@ index e9cbbdf310e48011ee538c5592baee2535965fee..dbedaf6a92681bc32d74f067cd4686c8 * Options which can be applied to redstone dust particles - a particle * color and size. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 0f76496471c50d5f18cedc735e667265e6c27422..0ed7a7db90856ff50ed1354f9914c0cc321d2d09 100644 +index 51e7c662f2d56c1a99818497315e75d661494145..1c7cdfe7a20500be8347a848e424e7409f73263c 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -2776,7 +2776,57 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0114-Expand-Explosions-API.patch b/patches/api/0114-Expand-Explosions-API.patch index 70125de15c..f76cc573ed 100644 --- a/patches/api/0114-Expand-Explosions-API.patch +++ b/patches/api/0114-Expand-Explosions-API.patch @@ -108,7 +108,7 @@ index 6693e3d8dc2519facb12db981a6b6325faa095bf..b7ff09ffdd3aecc1843d175bc76fe5fa * Returns a list of entities within a bounding box centered around a Location. * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 0ed7a7db90856ff50ed1354f9914c0cc321d2d09..fa192be9916ccd0a443281c104637ba09cde7755 100644 +index 1c7cdfe7a20500be8347a848e424e7409f73263c..e551347c8db9a89e8e450d39accb37f3ee4589ee 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1391,6 +1391,88 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0118-Add-World.getEntity-UUID-API.patch b/patches/api/0118-Add-World.getEntity-UUID-API.patch index 0d32971133..17eb778f1d 100644 --- a/patches/api/0118-Add-World.getEntity-UUID-API.patch +++ b/patches/api/0118-Add-World.getEntity-UUID-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index fa192be9916ccd0a443281c104637ba09cde7755..e9af7ce218e44940cd074cc0d511268284e312ef 100644 +index e551347c8db9a89e8e450d39accb37f3ee4589ee..6ed9d86683947a9b529b8ec0f8d88a7924742585 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -911,6 +911,17 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch b/patches/api/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch index e52b957a42..ad788a3ccc 100644 --- a/patches/api/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch +++ b/patches/api/0132-Provide-Chunk-Coordinates-as-a-Long-API.patch @@ -44,7 +44,7 @@ index efbfed855248cff8b4bdbfc181d3e82058df4749..766d643f0fe79660942fdad25e39e488 * Gets the world containing this chunk * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index e9af7ce218e44940cd074cc0d511268284e312ef..159307600747c49948c5242d6cf39eed08c902e7 100644 +index 6ed9d86683947a9b529b8ec0f8d88a7924742585..7f104d2c94d1de3eb003e412c35b5324beeada33 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -179,6 +179,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch b/patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch index 404eb3b27c..69f2642e46 100644 --- a/patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch +++ b/patches/api/0135-Allow-Blocks-to-be-accessed-via-a-long-key.patch @@ -50,7 +50,7 @@ index aa6821aa33d3c579a139bd7c0378253c43b3754a..6e6e65c40813ccce618fa7a3df2c0030 * @return A new location where X/Y/Z are the center of the block */ diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 159307600747c49948c5242d6cf39eed08c902e7..e83de41cbaf0e5a68ce0d5ad2b5ec10877ec4055 100644 +index 7f104d2c94d1de3eb003e412c35b5324beeada33..762be36670b12286876917b9fbf64ca5bddf6c2e 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -96,6 +96,41 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0140-isChunkGenerated-API.patch b/patches/api/0140-isChunkGenerated-API.patch index 8a28a246dd..444315854d 100644 --- a/patches/api/0140-isChunkGenerated-API.patch +++ b/patches/api/0140-isChunkGenerated-API.patch @@ -34,7 +34,7 @@ index 6e6e65c40813ccce618fa7a3df2c0030aa0a3bbe..8508aa2c6fb7c9f41f3d185f5228c86d /** * Sets the position of this Location and returns itself diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index e83de41cbaf0e5a68ce0d5ad2b5ec10877ec4055..c63a660f2deade66fffad9036ce7c7c693bf0207 100644 +index 762be36670b12286876917b9fbf64ca5bddf6c2e..ca1a4e9bd912258185d59ff70de1e7cc5e43d436 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -245,6 +245,19 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0142-Async-Chunks-API.patch b/patches/api/0142-Async-Chunks-API.patch index 37c551e441..c73cbeac5c 100644 --- a/patches/api/0142-Async-Chunks-API.patch +++ b/patches/api/0142-Async-Chunks-API.patch @@ -8,7 +8,7 @@ Adds API's to load or generate chunks asynchronously. Also adds utility methods to Entity to teleport asynchronously. diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index c63a660f2deade66fffad9036ce7c7c693bf0207..67d14468703e0445afccdbd8de8028fb21b90d2d 100644 +index ca1a4e9bd912258185d59ff70de1e7cc5e43d436..ddc5fd874ccbb5a75ea3e4eddc39a97761ee6a48 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -954,6 +954,482 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0152-Material-API-additions.patch b/patches/api/0152-Material-API-additions.patch index 6b7874324c..c2cf84e74b 100644 --- a/patches/api/0152-Material-API-additions.patch +++ b/patches/api/0152-Material-API-additions.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Material API additions diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index f52c0e25e75e890046339d605c0abf79d82864f2..64d01ce77966e895ec494719a4398577be1097a1 100644 +index 0b6c1065751b4315b30f9710a18bbcd5620ef97c..1e7b4cdad22f1679f1ea0f4bc9a90839c214331b 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -118,6 +118,7 @@ import org.jetbrains.annotations.Nullable; @@ -16,7 +16,7 @@ index f52c0e25e75e890046339d605c0abf79d82864f2..64d01ce77966e895ec494719a4398577 public enum Material implements Keyed, Translatable { // AIR(9648, 0), -@@ -4435,6 +4436,22 @@ public enum Material implements Keyed, Translatable { +@@ -4438,6 +4439,22 @@ public enum Material implements Keyed, Translatable { } } diff --git a/patches/api/0156-Add-sun-related-API.patch b/patches/api/0156-Add-sun-related-API.patch index 08356bec3c..61fed8f28d 100644 --- a/patches/api/0156-Add-sun-related-API.patch +++ b/patches/api/0156-Add-sun-related-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add sun related API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 67d14468703e0445afccdbd8de8028fb21b90d2d..c6019065869130608ac97af951c7036031eec242 100644 +index ddc5fd874ccbb5a75ea3e4eddc39a97761ee6a48..be5baaf499cc76dd737d6203570e3d431c18afcf 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -1781,6 +1781,16 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch index a49f4cbc50..8e7eaff3db 100644 --- a/patches/api/0172-Fix-Spigot-annotation-mistakes.patch +++ b/patches/api/0172-Fix-Spigot-annotation-mistakes.patch @@ -90,10 +90,10 @@ index 8508aa2c6fb7c9f41f3d185f5228c86dd3b8b627..f7564581c18425c903e54f949728dd37 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 64d01ce77966e895ec494719a4398577be1097a1..7705fece7f58bd66f7d68da85f8f34e43b4bae12 100644 +index 1e7b4cdad22f1679f1ea0f4bc9a90839c214331b..10d7827e7d60ecc733358093c0369cfb8a174c6d 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4465,11 +4465,11 @@ public enum Material implements Keyed, Translatable { +@@ -4468,11 +4468,11 @@ public enum Material implements Keyed, Translatable { } /** @@ -107,7 +107,7 @@ index 64d01ce77966e895ec494719a4398577be1097a1..7705fece7f58bd66f7d68da85f8f34e4 public boolean isLegacy() { return legacy; } -@@ -4540,8 +4540,10 @@ public enum Material implements Keyed, Translatable { +@@ -4543,8 +4543,10 @@ public enum Material implements Keyed, Translatable { * Gets the MaterialData class associated with this Material * * @return MaterialData associated with this Material @@ -282,7 +282,7 @@ index e455eb21abf121dc6ff10ff8a13dd06f67096a8f..bbc01e7c192ae6689c301670047ff114 return origin; } diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index c6019065869130608ac97af951c7036031eec242..fe8f167871563e594cd48892e4d8768ebca92958 100644 +index be5baaf499cc76dd737d6203570e3d431c18afcf..c748679337989a7b4e2a39e542268b7fd851ed91 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -415,9 +415,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0175-Add-Heightmap-API.patch b/patches/api/0175-Add-Heightmap-API.patch index ef71c8c2fe..5b38d5f8b0 100644 --- a/patches/api/0175-Add-Heightmap-API.patch +++ b/patches/api/0175-Add-Heightmap-API.patch @@ -102,7 +102,7 @@ index f7564581c18425c903e54f949728dd3742ca7bf2..1bfe465b9aaeea7d3c871140145b7de1 /** * Creates explosion at this location with given power diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index fe8f167871563e594cd48892e4d8768ebca92958..06cdbbeabf1f1630a2d2e008fa82e72b0745cdd8 100644 +index c748679337989a7b4e2a39e542268b7fd851ed91..e9423c88ccc35a7c32e1dca970faf0ec452fcbba 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -150,6 +150,87 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0197-Spawn-Reason-API.patch b/patches/api/0197-Spawn-Reason-API.patch index dbde82e3ba..ff79247e98 100644 --- a/patches/api/0197-Spawn-Reason-API.patch +++ b/patches/api/0197-Spawn-Reason-API.patch @@ -5,17 +5,17 @@ Subject: [PATCH] Spawn Reason API diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index 05c29cbd2ae1ca0434a90f8389479bd608ca2ac1..66bc6da2a482bb207ec50beb22fd62aeda90cc34 100644 +index 7c2b1eff41dd43fda84d84e76c05bbbf37c186b8..bc70f4f5b82ce5b92ab0b2612c8fb8126ed1a8c2 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java -@@ -10,6 +10,7 @@ import org.bukkit.block.data.BlockData; +@@ -11,6 +11,7 @@ import org.bukkit.block.data.BlockData; import org.bukkit.entity.Entity; import org.bukkit.entity.EntityType; import org.bukkit.entity.LivingEntity; +import org.bukkit.event.entity.CreatureSpawnEvent; - import org.bukkit.util.Consumer; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; + @@ -309,7 +310,34 @@ public interface RegionAccessor { * {@link Entity} requested cannot be spawned */ diff --git a/patches/api/0208-Add-moon-phase-API.patch b/patches/api/0208-Add-moon-phase-API.patch index 68b36e3b64..0b33cb35ed 100644 --- a/patches/api/0208-Add-moon-phase-API.patch +++ b/patches/api/0208-Add-moon-phase-API.patch @@ -47,7 +47,7 @@ index 0000000000000000000000000000000000000000..df05153397b42930cd53d37b30824c7e + } +} diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index 66bc6da2a482bb207ec50beb22fd62aeda90cc34..501dd5a26c27294420821b3d75f8938596afb1a8 100644 +index bc70f4f5b82ce5b92ab0b2612c8fb8126ed1a8c2..f587a529e4d7b097b3f204a34c636da0bbac6747 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java @@ -421,4 +421,12 @@ public interface RegionAccessor { diff --git a/patches/api/0211-Add-methods-to-get-translation-keys.patch b/patches/api/0211-Add-methods-to-get-translation-keys.patch index 1b8583d55a..a66be1c840 100644 --- a/patches/api/0211-Add-methods-to-get-translation-keys.patch +++ b/patches/api/0211-Add-methods-to-get-translation-keys.patch @@ -144,7 +144,7 @@ index 9443baf6de101a6d9af421314c013d8954798881..8108d6a82879e02384b83ab3f26b140e + // Paper end } diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 7705fece7f58bd66f7d68da85f8f34e43b4bae12..6a89eab53f21bc4420e616cc299864fb564e1045 100644 +index 10d7827e7d60ecc733358093c0369cfb8a174c6d..e47f113f1c38598ac8b95b631d0a53ca0c1f6d2c 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java @@ -119,7 +119,7 @@ import org.jetbrains.annotations.Nullable; @@ -156,7 +156,7 @@ index 7705fece7f58bd66f7d68da85f8f34e43b4bae12..6a89eab53f21bc4420e616cc299864fb // AIR(9648, 0), STONE(22948), -@@ -4450,6 +4450,15 @@ public enum Material implements Keyed, Translatable { +@@ -4453,6 +4453,15 @@ public enum Material implements Keyed, Translatable { } return false; } @@ -172,7 +172,7 @@ index 7705fece7f58bd66f7d68da85f8f34e43b4bae12..6a89eab53f21bc4420e616cc299864fb // Paper end /** -@@ -10949,9 +10958,11 @@ public enum Material implements Keyed, Translatable { +@@ -10952,9 +10961,11 @@ public enum Material implements Keyed, Translatable { * material * @see #getBlockTranslationKey() * @see #getItemTranslationKey() diff --git a/patches/api/0259-Cache-the-result-of-Material-isBlock.patch b/patches/api/0259-Cache-the-result-of-Material-isBlock.patch index 49dab657f2..962106d990 100644 --- a/patches/api/0259-Cache-the-result-of-Material-isBlock.patch +++ b/patches/api/0259-Cache-the-result-of-Material-isBlock.patch @@ -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 6a89eab53f21bc4420e616cc299864fb564e1045..37898f36f859eda945471fa9b00fcabbc3d211df 100644 +index e47f113f1c38598ac8b95b631d0a53ca0c1f6d2c..87b2cfd26d42c4f94f8571a514ef8f09febd6d56 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4394,6 +4394,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4397,6 +4397,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 6a89eab53f21bc4420e616cc299864fb564e1045..37898f36f859eda945471fa9b00fcabb private Material(final int id) { this(id, 64); -@@ -4592,6 +4593,11 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4595,6 +4596,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 6a89eab53f21bc4420e616cc299864fb564e1045..37898f36f859eda945471fa9b00fcabb switch (this) { // case ACACIA_BUTTON: -@@ -5778,6 +5784,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -5781,6 +5787,7 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla static { for (Material material : values()) { BY_NAME.put(material.name(), material); diff --git a/patches/api/0264-Expand-world-key-API.patch b/patches/api/0264-Expand-world-key-API.patch index 917573761a..d0f45acac2 100644 --- a/patches/api/0264-Expand-world-key-API.patch +++ b/patches/api/0264-Expand-world-key-API.patch @@ -28,7 +28,7 @@ index 2acb1e1e7a865596d0a0535717bc9d5dd49669c3..369fc041f3203da7d367423ac74cb3eb /** * Create a new virtual {@link WorldBorder}. diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index 501dd5a26c27294420821b3d75f8938596afb1a8..71ef9b479888aa83455757560b60745572c7196d 100644 +index f587a529e4d7b097b3f204a34c636da0bbac6747..58b81f30f9e29ab481ae96c7eea40ad976a4b192 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java @@ -19,7 +19,7 @@ import org.jetbrains.annotations.Nullable; diff --git a/patches/api/0265-Item-Rarity-API.patch b/patches/api/0265-Item-Rarity-API.patch index 5c25c66d65..924eadf1c9 100644 --- a/patches/api/0265-Item-Rarity-API.patch +++ b/patches/api/0265-Item-Rarity-API.patch @@ -39,10 +39,10 @@ index 0000000000000000000000000000000000000000..74ef8395cc040ce488c2acaa416db202 + } +} diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 37898f36f859eda945471fa9b00fcabbc3d211df..85d19b0c659c75472aa91d18fdf17f25bd6a2e04 100644 +index 87b2cfd26d42c4f94f8571a514ef8f09febd6d56..de709541754ce47aed82025e45311b6162b8c629 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4460,6 +4460,17 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4463,6 +4463,17 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla return Bukkit.getUnsafe().getBlockTranslationKey(this); } } diff --git a/patches/api/0271-More-World-API.patch b/patches/api/0271-More-World-API.patch index b57e26992a..506f8c3a37 100644 --- a/patches/api/0271-More-World-API.patch +++ b/patches/api/0271-More-World-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] More World API diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 06cdbbeabf1f1630a2d2e008fa82e72b0745cdd8..e6978b0257744ad13fce1291b4793334132f79e1 100644 +index e9423c88ccc35a7c32e1dca970faf0ec452fcbba..b7a2ef57ed089ca750693a413c57bc80048b5608 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -3716,6 +3716,114 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0289-Attributes-API-for-item-defaults.patch b/patches/api/0289-Attributes-API-for-item-defaults.patch index abd3dd1e69..0955ff42ff 100644 --- a/patches/api/0289-Attributes-API-for-item-defaults.patch +++ b/patches/api/0289-Attributes-API-for-item-defaults.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 85d19b0c659c75472aa91d18fdf17f25bd6a2e04..5fe8207fd9b76564b0547eec5e3db2b7abed0150 100644 +index de709541754ce47aed82025e45311b6162b8c629..8fea0f3f6dfa0634405ed2e4c2941beb616a0efc 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4471,6 +4471,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4474,6 +4474,21 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public io.papermc.paper.inventory.ItemRarity getItemRarity() { return Bukkit.getUnsafe().getItemRarity(this); } diff --git a/patches/api/0296-Add-more-line-of-sight-methods.patch b/patches/api/0296-Add-more-line-of-sight-methods.patch index 8bcc72f6a5..2751664e0f 100644 --- a/patches/api/0296-Add-more-line-of-sight-methods.patch +++ b/patches/api/0296-Add-more-line-of-sight-methods.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add more line of sight methods diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index 71ef9b479888aa83455757560b60745572c7196d..cd83348de3f82b3fddcf2d4bb9187ec8173b0e40 100644 +index 58b81f30f9e29ab481ae96c7eea40ad976a4b192..63503cf17847a85264c930a9fc23a5aab5955c3c 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java @@ -437,5 +437,13 @@ public interface RegionAccessor extends Keyed { // Paper diff --git a/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch index bac14a0f54..1d35dc1e92 100644 --- a/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch +++ b/patches/api/0315-Add-methods-to-find-targets-for-lightning-strikes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add methods to find targets for lightning strikes diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index e6978b0257744ad13fce1291b4793334132f79e1..d0c125c6120c2cefb5a3004a60bfd4a353c05e32 100644 +index b7a2ef57ed089ca750693a413c57bc80048b5608..6ee336e9cda8b740aa3984b115797cd9333e012f 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -734,6 +734,37 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0321-Add-isCollidable-methods-to-various-places.patch b/patches/api/0321-Add-isCollidable-methods-to-various-places.patch index 2ab6b106da..293a34acde 100644 --- a/patches/api/0321-Add-isCollidable-methods-to-various-places.patch +++ b/patches/api/0321-Add-isCollidable-methods-to-various-places.patch @@ -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 5fe8207fd9b76564b0547eec5e3db2b7abed0150..03b47012447430a350e152920f754d993d4023db 100644 +index 8fea0f3f6dfa0634405ed2e4c2941beb616a0efc..8a948a61d0bdb06b0b9a6eac8a27baeb35a7d36c 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -4486,6 +4486,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla +@@ -4489,6 +4489,16 @@ public enum Material implements Keyed, Translatable, net.kyori.adventure.transla public Multimap getItemAttributes(@NotNull EquipmentSlot equipmentSlot) { return Bukkit.getUnsafe().getItemAttributes(this, equipmentSlot); } diff --git a/patches/api/0346-Implement-regenerateChunk.patch b/patches/api/0346-Implement-regenerateChunk.patch index ab1b374a27..4f03973925 100644 --- a/patches/api/0346-Implement-regenerateChunk.patch +++ b/patches/api/0346-Implement-regenerateChunk.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement regenerateChunk diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index d0c125c6120c2cefb5a3004a60bfd4a353c05e32..b8b97df069b28fa3cf32f1ad1f01f586a0cfbc78 100644 +index 6ee336e9cda8b740aa3984b115797cd9333e012f..da524a71af74b02515b037f7fe09ba6988e2c8bf 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java @@ -483,8 +483,8 @@ public interface World extends RegionAccessor, WorldInfo, PluginMessageRecipient diff --git a/patches/api/0354-Add-getComputedBiome-API.patch b/patches/api/0354-Add-getComputedBiome-API.patch index 57f92d79f7..d1866ce241 100644 --- a/patches/api/0354-Add-getComputedBiome-API.patch +++ b/patches/api/0354-Add-getComputedBiome-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add getComputedBiome API diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index cd83348de3f82b3fddcf2d4bb9187ec8173b0e40..8f50eb9b902236f5e039f5d26f3ca9a044b01a75 100644 +index 63503cf17847a85264c930a9fc23a5aab5955c3c..93e20ca14a2b7e5817fab788b6dfa73c6ced6acb 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java @@ -26,6 +26,7 @@ public interface RegionAccessor extends Keyed { // Paper diff --git a/patches/api/0372-Collision-API.patch b/patches/api/0372-Collision-API.patch index 24bcebc503..058669aa74 100644 --- a/patches/api/0372-Collision-API.patch +++ b/patches/api/0372-Collision-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Collision API diff --git a/src/main/java/org/bukkit/RegionAccessor.java b/src/main/java/org/bukkit/RegionAccessor.java -index 8f50eb9b902236f5e039f5d26f3ca9a044b01a75..0d9184abd7090a5123a990f76847ee9b8971f735 100644 +index 93e20ca14a2b7e5817fab788b6dfa73c6ced6acb..cbb51dde78f792db4ddac43f144d23ff4b12d25f 100644 --- a/src/main/java/org/bukkit/RegionAccessor.java +++ b/src/main/java/org/bukkit/RegionAccessor.java @@ -469,5 +469,15 @@ public interface RegionAccessor extends Keyed { // Paper diff --git a/patches/server/0001-Setup-Gradle-project.patch b/patches/server/0001-Setup-Gradle-project.patch index ed22ba4350..0131e45bdb 100644 --- a/patches/server/0001-Setup-Gradle-project.patch +++ b/patches/server/0001-Setup-Gradle-project.patch @@ -172,10 +172,10 @@ index 0000000000000000000000000000000000000000..91a5d6e9775010336da28ed6e2f6654b +} diff --git a/pom.xml b/pom.xml deleted file mode 100644 -index 5e98dccdfb48d7af87180ad0c652c9f2d711af7f..0000000000000000000000000000000000000000 +index f71302bc9a652ece0f80ca3e1f00cff46ed50619..0000000000000000000000000000000000000000 --- a/pom.xml +++ /dev/null -@@ -1,587 +0,0 @@ +@@ -1,590 +0,0 @@ - - 4.0.0 @@ -579,7 +579,7 @@ index 5e98dccdfb48d7af87180ad0c652c9f2d711af7f..00000000000000000000000000000000 - - net.md-5 - specialsource-maven-plugin -- 1.2.4 +- 2.0.0 - - - package @@ -588,6 +588,7 @@ index 5e98dccdfb48d7af87180ad0c652c9f2d711af7f..00000000000000000000000000000000 - - remap-members - +- false - ${project.build.directory}/server.txt - org.spigotmc:minecraft-server:${project.version}:csrg:maps-spigot-members - true @@ -737,6 +738,7 @@ index 5e98dccdfb48d7af87180ad0c652c9f2d711af7f..00000000000000000000000000000000 - - remap-obf - +- false - org.spigotmc:minecraft-server:${project.version}:csrg:maps-spigot - true - true @@ -750,6 +752,7 @@ index 5e98dccdfb48d7af87180ad0c652c9f2d711af7f..00000000000000000000000000000000 - - remap-mojang - +- false - ${project.build.directory}/${project.artifactId}-${project.version}-remapped-obf.jar - org.spigotmc:minecraft-server:${project.version}:txt:maps-mojang - true diff --git a/patches/server/0005-Paper-config-files.patch b/patches/server/0005-Paper-config-files.patch index 1020ccc757..947a0ecbba 100644 --- a/patches/server/0005-Paper-config-files.patch +++ b/patches/server/0005-Paper-config-files.patch @@ -4720,10 +4720,10 @@ index cda55e481ddbcc1de5478125c5db20ebba168e7d..bacd4d875642cd93c3185f788745dd73 this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f4a2fbf89320df88e99b20a56b4feeba7e395dd2..cbfc9b90805ecce074d42cfeb0b68d84cdafcac6 100644 +index 671095a9fb124cc496700e680bab1ef118a7fb5b..2d5627f5dc48c0d51464452907b50bbeb069e67c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -919,6 +919,7 @@ public final class CraftServer implements Server { +@@ -918,6 +918,7 @@ public final class CraftServer implements Server { } org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot diff --git a/patches/server/0008-CB-fixes.patch b/patches/server/0008-CB-fixes.patch index 91e27248d7..fcc0b2c21a 100644 --- a/patches/server/0008-CB-fixes.patch +++ b/patches/server/0008-CB-fixes.patch @@ -68,10 +68,10 @@ index 161ad6ab1443b2ce33a2d7d91d189c855db0453b..15a9736a870055d639d03063c7cf67fd this.registryAccess = registryManager; this.structureTemplateManager = structureTemplateManager; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cbfc9b90805ecce074d42cfeb0b68d84cdafcac6..35f0be0afad8f88f69c3127d1bd44bb0e12af550 100644 +index 2d5627f5dc48c0d51464452907b50bbeb069e67c..f890e0e8ae52965f671fe82911b006a61a33a86b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2360,7 +2360,13 @@ public final class CraftServer implements Server { +@@ -2359,7 +2359,13 @@ public final class CraftServer implements Server { Preconditions.checkArgument(key != null, "NamespacedKey key cannot be null"); LootDataManager registry = this.getServer().getLootData(); diff --git a/patches/server/0009-MC-Utils.patch b/patches/server/0009-MC-Utils.patch index f0b6f2ba5b..f3af21405f 100644 --- a/patches/server/0009-MC-Utils.patch +++ b/patches/server/0009-MC-Utils.patch @@ -7395,7 +7395,7 @@ index 25156be63f91a1c41ef41154f675d04eb97459a8..47bab513feec217d875192afef61f3af return false; } else { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 8adac67a9315186d1ef453eae827ea7f69856f7a..153143b06fc088f3142a8fa17f153d8a344169d8 100644 +index 29bd4879ef94bcfea879fac49dea22eba4af8251..f07c3bfa42c3e26b19c08b3b5ad2ad8d86fd2fc6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -242,8 +242,8 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -7452,10 +7452,10 @@ index 8adac67a9315186d1ef453eae827ea7f69856f7a..153143b06fc088f3142a8fa17f153d8a + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 32adc1cee4dfe49a9a0009ab39382083001e6cbe..74f431e806a4c5abb7ddd193c1b5f7ba7f321cac 100644 +index b3d1452831db0d7e9765e8e3d437db449bd0010f..4c4d92f934b6463ea7dd88bf5bd664f364742360 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1186,4 +1186,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1185,4 +1185,37 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.spigot; } // Spigot end @@ -7737,11 +7737,11 @@ index 0000000000000000000000000000000000000000..909b2c98e7a9117d2f737245e4661792 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index d2942ef34c6d68d57caec9f1209c2dcdd277c36d..35d2a206d4a36292c16e29247c950c2a69af2879 100644 +index b5506411a893e5eccfb83ab58d718753338b490a..bf6e87116df29a99d7aad3250e8e59d2d957159b 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -105,8 +105,17 @@ public final class CraftMagicNumbers implements UnsafeValues { - private static final BiMap FLUIDTYPE_FLUID = HashBiMap.create(); +@@ -99,8 +99,17 @@ public final class CraftMagicNumbers implements UnsafeValues { + private static final Map ITEM_MATERIAL = new HashMap<>(); private static final Map MATERIAL_ITEM = new HashMap<>(); private static final Map MATERIAL_BLOCK = new HashMap<>(); + // Paper start @@ -7758,7 +7758,7 @@ index d2942ef34c6d68d57caec9f1209c2dcdd277c36d..35d2a206d4a36292c16e29247c950c2a for (Block block : BuiltInRegistries.BLOCK) { BLOCK_MATERIAL.put(block, Material.getMaterial(BuiltInRegistries.BLOCK.getKey(block).getPath().toUpperCase(Locale.ROOT))); } -@@ -170,6 +179,14 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -151,6 +160,14 @@ public final class CraftMagicNumbers implements UnsafeValues { public static ResourceLocation key(Material mat) { return CraftNamespacedKey.toMinecraft(mat.getKey()); } diff --git a/patches/server/0010-Adventure.patch b/patches/server/0010-Adventure.patch index c7e93c23bc..597a5b5eb2 100644 --- a/patches/server/0010-Adventure.patch +++ b/patches/server/0010-Adventure.patch @@ -2866,10 +2866,10 @@ index 23bdb77690ba15bcbbfb0c70af23336d08ac7752..8f144a357174bbe096ac9b38a5e67a61 } collection = icons; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e0847637f9a 100644 +index f890e0e8ae52965f671fe82911b006a61a33a86b..e04b981e990efc6402978a329dee8024440b48fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -617,8 +617,10 @@ public final class CraftServer implements Server { +@@ -616,8 +616,10 @@ public final class CraftServer implements Server { } @Override @@ -2880,7 +2880,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 } @Override -@@ -1474,7 +1476,15 @@ public final class CraftServer implements Server { +@@ -1473,7 +1475,15 @@ public final class CraftServer implements Server { return this.configuration.getInt("settings.spawn-radius", -1); } @@ -2896,7 +2896,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 public String getShutdownMessage() { return this.configuration.getString("settings.shutdown-message"); } -@@ -1642,7 +1652,20 @@ public final class CraftServer implements Server { +@@ -1641,7 +1651,20 @@ public final class CraftServer implements Server { } @Override @@ -2917,7 +2917,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 Set recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { if (permissible instanceof CommandSender && permissible.hasPermission(permission)) { -@@ -1650,14 +1673,14 @@ public final class CraftServer implements Server { +@@ -1649,14 +1672,14 @@ public final class CraftServer implements Server { } } @@ -2934,7 +2934,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 for (CommandSender recipient : recipients) { recipient.sendMessage(message); -@@ -1920,6 +1943,14 @@ public final class CraftServer implements Server { +@@ -1919,6 +1942,14 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, type); } @@ -2949,7 +2949,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 @Override public Inventory createInventory(InventoryHolder owner, InventoryType type, String title) { Preconditions.checkArgument(type != null, "InventoryType cannot be null"); -@@ -1934,13 +1965,28 @@ public final class CraftServer implements Server { +@@ -1933,13 +1964,28 @@ public final class CraftServer implements Server { return CraftInventoryCreator.INSTANCE.createInventory(owner, size); } @@ -2978,7 +2978,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 public Merchant createMerchant(String title) { return new CraftMerchantCustom(title == null ? InventoryType.MERCHANT.getDefaultTitle() : title); } -@@ -2005,6 +2051,17 @@ public final class CraftServer implements Server { +@@ -2004,6 +2050,17 @@ public final class CraftServer implements Server { return Thread.currentThread().equals(console.serverThread) || this.console.hasStopped() || !org.spigotmc.AsyncCatcher.enabled; // All bets are off if we have shut down (e.g. due to watchdog) } @@ -2996,7 +2996,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 @Override public String getMotd() { return this.console.getMotd(); -@@ -2439,4 +2496,53 @@ public final class CraftServer implements Server { +@@ -2438,4 +2495,53 @@ public final class CraftServer implements Server { return this.spigot; } // Spigot end @@ -3051,7 +3051,7 @@ index 35f0be0afad8f88f69c3127d1bd44bb0e12af550..4bdc0ef703b31763f879e7de7da60e08 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 153143b06fc088f3142a8fa17f153d8a344169d8..d01388bbadf3069357cf52463f4104a1be4d2b56 100644 +index f07c3bfa42c3e26b19c08b3b5ad2ad8d86fd2fc6..296cd22069ed95b35c59191def2ff568f49a944f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -152,6 +152,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -3527,7 +3527,7 @@ index f6c614bb1184f9c79121f64a2a030bf3f094b671..e8334e2264510f5101e80b4f130e7ae1 public net.minecraft.world.item.enchantment.Enchantment getHandle() { return this.target; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 74f431e806a4c5abb7ddd193c1b5f7ba7f321cac..2a20ebeeb6156ff74a52e8e0168de6b60f6e72cf 100644 +index 4c4d92f934b6463ea7dd88bf5bd664f364742360..c888dce92fa4c26bbbeba7eab299841b01732e6b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -206,6 +206,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -3538,7 +3538,7 @@ index 74f431e806a4c5abb7ddd193c1b5f7ba7f321cac..2a20ebeeb6156ff74a52e8e0168de6b6 public CraftEntity(final CraftServer server, final Entity entity) { this.server = server; -@@ -864,6 +865,32 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -863,6 +864,32 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.getHandle().getVehicle().getBukkitEntity(); } @@ -3571,7 +3571,7 @@ index 74f431e806a4c5abb7ddd193c1b5f7ba7f321cac..2a20ebeeb6156ff74a52e8e0168de6b6 @Override public void setCustomName(String name) { // sane limit for name length -@@ -943,6 +970,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -942,6 +969,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public String getName() { return CraftChatMessage.fromComponent(this.getHandle().getName()); } @@ -3642,7 +3642,7 @@ index 10fa80df3ae2406f34af669f89d087b15ad1d71b..66fb6aeb49b7e93d2a4d9b5ce7f1a7d6 public boolean isOp() { 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 0c4371fba7e770050182b3cff429bdbfe778e8f6..5b3749feed210da7f62deab5672a40ec396eedc8 100644 +index 2423c838777d99ff34bbde2e791105b3a00c7810..c6e13e9c688eb48518e7b5255521310c17ea452c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -296,14 +296,39 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -4137,7 +4137,7 @@ index 5725b0281ac53a2354b233223259d6784353bc6e..9ef939b76d06874b856e0c850addb364 @Override public int getLineWidth() { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 44f38eab4a6460dd34a1ce33528bfb6e3f42da8b..8e1bb9d86ec12240b00ee118a88ebe4dec4e6329 100644 +index 23e7924320a9061cfb9769ed09c5e679ef4cff47..52a5f1a6585abe42018e8758c5ac462bfb0fe1d1 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -879,9 +879,9 @@ public class CraftEventFactory { @@ -4284,7 +4284,7 @@ index 4dd9a80af9901287ab6740b072f2b89678c3d0cb..b2586684295b295a3196a2a9cf724cec public String getTitle() { return this.title; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 87f57266d4cb3a89a38cf7871e5872d29f6d15b9..45872e28cabc655c170bee163d471acf5d913c00 100644 +index d1126215e14e7594f82c75188ca459c59eba3d0b..2fa36de5d43e2c395e0db2017bd994a62a5b2feb 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -456,4 +456,17 @@ public final class CraftItemFactory implements ItemFactory { @@ -4562,10 +4562,10 @@ index 507fa96a3fb904b74429df5756c9a6378ec8c5b7..5c6eb9b6f3ca4fc6534fe023fe78be5c + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 03e5058810553be884c87f9f7b793cb5fadb7284..44244166ec4e8ac070404101219efbc0e5f1d168 100644 +index 7c33d3d0e55f63b82df30de2e243c42f127272cf..ed81ad09313730173cc5d5617d67da4ae2bf3e78 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -749,6 +749,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -750,6 +750,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return !(this.hasDisplayName() || this.hasLocalizedName() || this.hasEnchants() || (this.lore != null) || this.hasCustomModelData() || this.hasBlockData() || this.hasRepairCost() || !this.unhandledTags.isEmpty() || !this.persistentDataContainer.isEmpty() || this.hideFlag != 0 || this.isUnbreakable() || this.hasDamage() || this.hasAttributeModifiers()); } @@ -4584,7 +4584,7 @@ index 03e5058810553be884c87f9f7b793cb5fadb7284..44244166ec4e8ac070404101219efbc0 @Override public String getDisplayName() { return CraftChatMessage.fromJSONComponent(displayName); -@@ -784,6 +796,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -785,6 +797,18 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.lore != null && !this.lore.isEmpty(); } @@ -4908,10 +4908,10 @@ index 78ea79b66cc9e90402ef5cdc2e5e04e0c74b1c26..4fede2161792ba3e7cdf0cc5a1f53318 boolean hadFormat = false; diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 35d2a206d4a36292c16e29247c950c2a69af2879..83ccadcc7139054e1ba3e1c1f0bf23c67c3c97c8 100644 +index bf6e87116df29a99d7aad3250e8e59d2d957159b..c72179ff4eb4b2b479da302f648eff85a6345f34 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -75,6 +75,43 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -70,6 +70,43 @@ public final class CraftMagicNumbers implements UnsafeValues { private CraftMagicNumbers() {} diff --git a/patches/server/0011-Paper-command.patch b/patches/server/0011-Paper-command.patch index 4295e59b6e..3dbfd86f8f 100644 --- a/patches/server/0011-Paper-command.patch +++ b/patches/server/0011-Paper-command.patch @@ -617,10 +617,10 @@ index a9ec28c3cf3ed50d929c80ac21959d82603ff0aa..95a4bcd09f3a9d462ff4c92431c07e3d this.setPvpAllowed(dedicatedserverproperties.pvp); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 4bdc0ef703b31763f879e7de7da60e0847637f9a..5e08b8368d81153cf22ef9ae605fe5250464a283 100644 +index e04b981e990efc6402978a329dee8024440b48fa..f75e17f3b475fcdaa2aa83829df647a09b863071 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -943,6 +943,7 @@ public final class CraftServer implements Server { +@@ -942,6 +942,7 @@ public final class CraftServer implements Server { this.commandMap.clearCommands(); this.reloadData(); org.spigotmc.SpigotConfig.registerCommands(); // Spigot @@ -628,7 +628,7 @@ index 4bdc0ef703b31763f879e7de7da60e0847637f9a..5e08b8368d81153cf22ef9ae605fe525 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2536,6 +2537,34 @@ public final class CraftServer implements Server { +@@ -2535,6 +2536,34 @@ public final class CraftServer implements Server { // Paper end // Paper start diff --git a/patches/server/0013-Paper-Plugins.patch b/patches/server/0013-Paper-Plugins.patch index 3faa3b746d..ea7364f159 100644 --- a/patches/server/0013-Paper-Plugins.patch +++ b/patches/server/0013-Paper-Plugins.patch @@ -6994,10 +6994,10 @@ index 9cfdd5d8c1650d9c9bdfbc07980239e507ff942d..ae0b713870976d4b1e469a90cef9b2e2 Bootstrap.validate(); Util.startTimerHackThread(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 5e08b8368d81153cf22ef9ae605fe5250464a283..8c32ad9cbbe8bc9693493eee97834aaf20633ed7 100644 +index f75e17f3b475fcdaa2aa83829df647a09b863071..bf4a82c183ad0aa148c6c14615d2d2606a8befb3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -275,7 +275,8 @@ public final class CraftServer implements Server { +@@ -274,7 +274,8 @@ public final class CraftServer implements Server { private final CraftCommandMap commandMap = new CraftCommandMap(this); private final SimpleHelpMap helpMap = new SimpleHelpMap(this); private final StandardMessenger messenger = new StandardMessenger(); @@ -7007,7 +7007,7 @@ index 5e08b8368d81153cf22ef9ae605fe5250464a283..8c32ad9cbbe8bc9693493eee97834aaf private final StructureManager structureManager; protected final DedicatedServer console; protected final DedicatedPlayerList playerList; -@@ -427,24 +428,7 @@ public final class CraftServer implements Server { +@@ -426,24 +427,7 @@ public final class CraftServer implements Server { } public void loadPlugins() { @@ -7033,7 +7033,7 @@ index 5e08b8368d81153cf22ef9ae605fe5250464a283..8c32ad9cbbe8bc9693493eee97834aaf } public void enablePlugins(PluginLoadOrder type) { -@@ -533,15 +517,17 @@ public final class CraftServer implements Server { +@@ -532,15 +516,17 @@ public final class CraftServer implements Server { private void enablePlugin(Plugin plugin) { try { List perms = plugin.getDescription().getPermissions(); @@ -7057,7 +7057,7 @@ index 5e08b8368d81153cf22ef9ae605fe5250464a283..8c32ad9cbbe8bc9693493eee97834aaf this.pluginManager.enablePlugin(plugin); } catch (Throwable ex) { -@@ -967,6 +953,7 @@ public final class CraftServer implements Server { +@@ -966,6 +952,7 @@ public final class CraftServer implements Server { "This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin" )); } @@ -7083,10 +7083,10 @@ index 909b2c98e7a9117d2f737245e4661792ffafb744..d96399e9bf1a58db5a4a22e58abb99e7 @Override public FileConfiguration getConfig() { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 83ccadcc7139054e1ba3e1c1f0bf23c67c3c97c8..7546538312dbbd36e014677dce843433cb25d2a9 100644 +index c72179ff4eb4b2b479da302f648eff85a6345f34..9e08622fbee6d1e4f5b320a6d9780a8b88f34457 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -438,6 +438,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -419,6 +419,12 @@ public final class CraftMagicNumbers implements UnsafeValues { net.minecraft.world.item.ItemStack nmsItemStack = CraftItemStack.asNMSCopy(itemStack); return nmsItemStack.getItem().getDescriptionId(nmsItemStack); } diff --git a/patches/server/0014-Timings-v2.patch b/patches/server/0014-Timings-v2.patch index fa5f839e0b..8fcfb50cdf 100644 --- a/patches/server/0014-Timings-v2.patch +++ b/patches/server/0014-Timings-v2.patch @@ -1636,10 +1636,10 @@ index 0eb09ce5c850d85ffd7229d27cf06b3e0edda11b..cc1d7626a82881c4410d65c6a33dadae }; } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8c32ad9cbbe8bc9693493eee97834aaf20633ed7..71a0bad7402ec1ba48dcecb875fcad294af0f70e 100644 +index bf4a82c183ad0aa148c6c14615d2d2606a8befb3..319be97869dcc8fb1baed483633612bae17a491a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -377,7 +377,7 @@ public final class CraftServer implements Server { +@@ -376,7 +376,7 @@ public final class CraftServer implements Server { this.saveCommandsConfig(); this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); @@ -1648,7 +1648,7 @@ index 8c32ad9cbbe8bc9693493eee97834aaf20633ed7..71a0bad7402ec1ba48dcecb875fcad29 this.overrideSpawnLimits(); console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); -@@ -2453,12 +2453,31 @@ public final class CraftServer implements Server { +@@ -2452,12 +2452,31 @@ public final class CraftServer implements Server { private final org.bukkit.Server.Spigot spigot = new org.bukkit.Server.Spigot() { @@ -1850,7 +1850,7 @@ index b0ffa23faf62629043dfd613315eaf9c5fcc2cfe..00000000000000000000000000000000 - } -} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5b3749feed210da7f62deab5672a40ec396eedc8..aa8ec0a92c8bca78088a2b30f571587823dd79bb 100644 +index c6e13e9c688eb48518e7b5255521310c17ea452c..ed17c517db079920e3bd11753ebdcb40b7054b43 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2566,6 +2566,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -2050,10 +2050,10 @@ index f97eccb6a17c7876e1e002d798eb67bbe80571a0..76effc345d362047e64d064eb64a5222 + } // Paper } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 7546538312dbbd36e014677dce843433cb25d2a9..a638d67f9ab67c6564b3c44c6971d98995bdb203 100644 +index 9e08622fbee6d1e4f5b320a6d9780a8b88f34457..1ea2d4a1b378694120d599f52cc07922831f5a65 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -225,6 +225,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -206,6 +206,12 @@ public final class CraftMagicNumbers implements UnsafeValues { } // Paper end // ======================================================================== @@ -2066,7 +2066,7 @@ index 7546538312dbbd36e014677dce843433cb25d2a9..a638d67f9ab67c6564b3c44c6971d989 public static byte toLegacyData(BlockState data) { return CraftLegacy.toLegacyData(data); -@@ -451,6 +457,13 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -432,6 +438,13 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftFeatureFlag.getFromNMS(namespacedKey); } diff --git a/patches/server/0018-Rewrite-chunk-system.patch b/patches/server/0018-Rewrite-chunk-system.patch index 50757905e1..0a009c7e9a 100644 --- a/patches/server/0018-Rewrite-chunk-system.patch +++ b/patches/server/0018-Rewrite-chunk-system.patch @@ -22766,10 +22766,10 @@ index 9f6c2e5b5d9e8d714a47c770e255d06c0ef7c190..ac807277a6b26d140ea9873d17c7aa4f for(SavedTick savedTick : this.pendingTicks) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -index bf4b2f89d3a7133155c6272379c742318b2c1514..33677ec811ceab939c419bf7d31b99585e9a1ef1 100644 +index 762d37ab5a98b19514c8ec38cb3f2ecdf1e5ba8e..4efdde5f48f50db57fdd70f84bf36a768e2601ea 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -@@ -111,7 +111,7 @@ public class CraftChunk implements Chunk { +@@ -112,7 +112,7 @@ public class CraftChunk implements Chunk { @Override public boolean isEntitiesLoaded() { @@ -22778,7 +22778,7 @@ index bf4b2f89d3a7133155c6272379c742318b2c1514..33677ec811ceab939c419bf7d31b9958 } @Override -@@ -120,51 +120,7 @@ public class CraftChunk implements Chunk { +@@ -121,51 +121,7 @@ public class CraftChunk implements Chunk { this.getWorld().getChunkAt(x, z); // Transient load for this tick } @@ -22832,10 +22832,10 @@ index bf4b2f89d3a7133155c6272379c742318b2c1514..33677ec811ceab939c419bf7d31b9958 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 71a0bad7402ec1ba48dcecb875fcad294af0f70e..e0b8aa7f17d98d7b686faf5422db4b4def12ee90 100644 +index 319be97869dcc8fb1baed483633612bae17a491a..8377270a5daa3257cd9799e242fe8894a6d22c5c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1161,7 +1161,7 @@ public final class CraftServer implements Server { +@@ -1160,7 +1160,7 @@ public final class CraftServer implements Server { this.console.addLevel(internal); this.getServer().prepareLevels(internal.getChunkSource().chunkMap.progressListener, internal); @@ -22844,7 +22844,7 @@ index 71a0bad7402ec1ba48dcecb875fcad294af0f70e..e0b8aa7f17d98d7b686faf5422db4b4d this.pluginManager.callEvent(new WorldLoadEvent(internal.getWorld())); return internal.getWorld(); -@@ -1205,7 +1205,7 @@ public final class CraftServer implements Server { +@@ -1204,7 +1204,7 @@ public final class CraftServer implements Server { } handle.getChunkSource().close(save); @@ -22853,7 +22853,7 @@ index 71a0bad7402ec1ba48dcecb875fcad294af0f70e..e0b8aa7f17d98d7b686faf5422db4b4d handle.convertable.close(); } catch (Exception ex) { this.getLogger().log(Level.SEVERE, null, ex); -@@ -2036,7 +2036,7 @@ public final class CraftServer implements Server { +@@ -2035,7 +2035,7 @@ public final class CraftServer implements Server { @Override public boolean isPrimaryThread() { @@ -22863,7 +22863,7 @@ index 71a0bad7402ec1ba48dcecb875fcad294af0f70e..e0b8aa7f17d98d7b686faf5422db4b4d // Paper start - Adventure diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index d01388bbadf3069357cf52463f4104a1be4d2b56..f4f94185cf699582737aecee1d3623c7857fbbb5 100644 +index 296cd22069ed95b35c59191def2ff568f49a944f..a41c937d8b4648c900bf6b5d4c47fcd0bbc72401 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -322,10 +322,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -22982,7 +22982,7 @@ index d01388bbadf3069357cf52463f4104a1be4d2b56..f4f94185cf699582737aecee1d3623c7 // Spigot start private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index aa8ec0a92c8bca78088a2b30f571587823dd79bb..0c716967f19783e8e02c777835b63ed8126a80d9 100644 +index ed17c517db079920e3bd11753ebdcb40b7054b43..efd64bfd21a277eb775877382f3f50f86699d8bc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -197,6 +197,48 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -23035,7 +23035,7 @@ index aa8ec0a92c8bca78088a2b30f571587823dd79bb..0c716967f19783e8e02c777835b63ed8 return this.getHandle().getGameProfile(); } diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java -index 02173e8d859d6731836239e0d2dff2be4680e7d1..c3972ba41ad61af4c423e6f942ac984dc61716f0 100644 +index 20592dc147f4f0b84928dabcfa349622f1de691c..d46ccc3b3aaacf937631a44a7e0f91b793a83c86 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CustomChunkGenerator.java @@ -265,7 +265,7 @@ public class CustomChunkGenerator extends InternalChunkGenerator { diff --git a/patches/server/0019-Add-command-line-option-to-load-extra-plugin-jars-no.patch b/patches/server/0019-Add-command-line-option-to-load-extra-plugin-jars-no.patch index e546480117..f2cc631154 100644 --- a/patches/server/0019-Add-command-line-option-to-load-extra-plugin-jars-no.patch +++ b/patches/server/0019-Add-command-line-option-to-load-extra-plugin-jars-no.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Add command line option to load extra plugin jars not in the ex: java -jar paperclip.jar nogui -add-plugin=/path/to/plugin.jar -add-plugin=/path/to/another/plugin_jar.jar diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e0b8aa7f17d98d7b686faf5422db4b4def12ee90..c3d5a05d847ee7d32cfb227b3445a92762df31d0 100644 +index 8377270a5daa3257cd9799e242fe8894a6d22c5c..d1b6c5689e036285515f74263d6b6bc7c32af108 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -431,6 +431,35 @@ public final class CraftServer implements Server { +@@ -430,6 +430,35 @@ public final class CraftServer implements Server { io.papermc.paper.plugin.entrypoint.LaunchEntryPointHandler.INSTANCE.enter(io.papermc.paper.plugin.entrypoint.Entrypoint.PLUGIN); // Paper - replace implementation } diff --git a/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch b/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch index bf3d04ec74..5545cdd868 100644 --- a/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch +++ b/patches/server/0027-Show-Paper-in-client-crashes-server-lists-and-Mojang.patch @@ -19,10 +19,10 @@ index 151259cc254d4e796e6af810e37eaa30b832daa3..ce626187e7ffda51a54225fa6e43b817 public SystemReport fillSystemReport(SystemReport details) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index c3d5a05d847ee7d32cfb227b3445a92762df31d0..30c0dd03f56a627e1c2516edf538193f4a0df588 100644 +index d1b6c5689e036285515f74263d6b6bc7c32af108..4327b8da53f2417ef3dabd221e0caf792c55dd6e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -266,7 +266,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; +@@ -265,7 +265,7 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; import net.md_5.bungee.api.chat.BaseComponent; // Spigot public final class CraftServer implements Server { diff --git a/patches/server/0028-Implement-Paper-VersionChecker.patch b/patches/server/0028-Implement-Paper-VersionChecker.patch index ae232d3ec8..b266d8791a 100644 --- a/patches/server/0028-Implement-Paper-VersionChecker.patch +++ b/patches/server/0028-Implement-Paper-VersionChecker.patch @@ -140,10 +140,10 @@ index 0000000000000000000000000000000000000000..22a55be34fde453fedd987173d95b8b3 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index a638d67f9ab67c6564b3c44c6971d98995bdb203..6f2b9d0d2cc8b18d74b59bf77fec394d14211a24 100644 +index 1ea2d4a1b378694120d599f52cc07922831f5a65..e7d5006fcf55c5a7ba1cea0dab0edd2bf410247c 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -462,6 +462,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -443,6 +443,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public String getTimingsServerName() { return io.papermc.paper.configuration.GlobalConfiguration.get().timings.serverName; } diff --git a/patches/server/0030-Player-affects-spawning-API.patch b/patches/server/0030-Player-affects-spawning-API.patch index a7faf3c124..3f978a87b2 100644 --- a/patches/server/0030-Player-affects-spawning-API.patch +++ b/patches/server/0030-Player-affects-spawning-API.patch @@ -137,7 +137,7 @@ index 2ec2b1d9d987c7f31c685aec3d3c87f42758c94b..36d793b492d9776ee36f8285b5bab09e for(Player player : this.players()) { if (EntitySelector.NO_SPECTATORS.test(player) && EntitySelector.LIVING_ENTITY_STILL_ALIVE.test(player)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 0c716967f19783e8e02c777835b63ed8126a80d9..ce81d9c7e5acea4c045321e82d190aa7be87848b 100644 +index efd64bfd21a277eb775877382f3f50f86699d8bc..d2ef107e00995008f3433009d0b22621b4f92f12 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2247,6 +2247,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0031-Further-improve-server-tick-loop.patch b/patches/server/0031-Further-improve-server-tick-loop.patch index eb08edc741..cf7b10b32e 100644 --- a/patches/server/0031-Further-improve-server-tick-loop.patch +++ b/patches/server/0031-Further-improve-server-tick-loop.patch @@ -145,10 +145,10 @@ index ce626187e7ffda51a54225fa6e43b817c6c19db8..086be61bfc8a43076b502bbf00e9f2d2 this.startMetricsRecordingTick(); this.profiler.push("tick"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 30c0dd03f56a627e1c2516edf538193f4a0df588..9d70513d05515f6ff3f03b5580bd48f127d73ca1 100644 +index 4327b8da53f2417ef3dabd221e0caf792c55dd6e..97801c6b11df3b80ad80d7e6fd03d769c400b417 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2478,6 +2478,17 @@ public final class CraftServer implements Server { +@@ -2477,6 +2477,17 @@ public final class CraftServer implements Server { return CraftMagicNumbers.INSTANCE; } diff --git a/patches/server/0032-Only-refresh-abilities-if-needed.patch b/patches/server/0032-Only-refresh-abilities-if-needed.patch index 8418c55511..aa0076b560 100644 --- a/patches/server/0032-Only-refresh-abilities-if-needed.patch +++ b/patches/server/0032-Only-refresh-abilities-if-needed.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Only refresh abilities if needed diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ce81d9c7e5acea4c045321e82d190aa7be87848b..248b424939740e1d9208398c2c649efce0c99cf9 100644 +index d2ef107e00995008f3433009d0b22621b4f92f12..b3278a5f44dbbca937c499a2f3ae852052911d7b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1920,12 +1920,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0033-Entity-Origin-API.patch b/patches/server/0033-Entity-Origin-API.patch index bcc8c0f7ae..39662b5838 100644 --- a/patches/server/0033-Entity-Origin-API.patch +++ b/patches/server/0033-Entity-Origin-API.patch @@ -132,10 +132,10 @@ index 415b8822f0dfb14d49bccb2a10ac04025891ddf7..89fd5d6b373d2705dccc2f22663048f4 @Nullable diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 2a20ebeeb6156ff74a52e8e0168de6b60f6e72cf..9b4e28353892240debc2d2d48876c5640d479ae9 100644 +index c888dce92fa4c26bbbeba7eab299841b01732e6b..38ef3c68cb8581c4f069362d1fc1d5d2b5171ba9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1256,5 +1256,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1255,5 +1255,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return ret; } diff --git a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch b/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch index 37c8b1d7e6..0563c92b71 100644 --- a/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch +++ b/patches/server/0045-Implement-PlayerLocaleChangeEvent.patch @@ -39,7 +39,7 @@ index 10a99aff9632db578d19683675ba12242ae6970b..77668e9534f6d68755020cbae09aae5d // CraftBukkit end this.language = clientOptions.language(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 248b424939740e1d9208398c2c649efce0c99cf9..b8fc211d72e860c85ca39b03574db3a7b18e369f 100644 +index b3278a5f44dbbca937c499a2f3ae852052911d7b..ca8c713342c7e217c8bbcd2c92309ad188f7dd27 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2245,7 +2245,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0048-Use-UserCache-for-player-heads.patch b/patches/server/0048-Use-UserCache-for-player-heads.patch index d4024986af..d6c1026d3b 100644 --- a/patches/server/0048-Use-UserCache-for-player-heads.patch +++ b/patches/server/0048-Use-UserCache-for-player-heads.patch @@ -5,19 +5,19 @@ Subject: [PATCH] Use UserCache for player heads diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index 0a6003248178d239c8b9a81a558f6bcf1173f00a..f8e2315845b15af230f43521b53f943ee58b9117 100644 +index 5daa02d65eb4ca046b2e5dd6b2239ca3692752ee..b202f425cbb880079b9e3ec64d077482d7aa5f99 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -211,7 +211,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { if (name == null) { this.setProfile(null); } else { -- this.setProfile(new CraftGameProfile(null, name)); +- this.setProfile(new GameProfile(Util.NIL_UUID, name)); + // Paper start - Use Online Players Skull + GameProfile newProfile = null; + net.minecraft.server.level.ServerPlayer player = net.minecraft.server.MinecraftServer.getServer().getPlayerList().getPlayerByName(name); + if (player != null) newProfile = player.getGameProfile(); -+ if (newProfile == null) newProfile = new CraftGameProfile(null, name); ++ if (newProfile == null) newProfile = new GameProfile(Util.NIL_UUID, name); + this.setProfile(newProfile); + // Paper end } diff --git a/patches/server/0052-Improve-Player-chat-API-handling.patch b/patches/server/0052-Improve-Player-chat-API-handling.patch index de6a05cf4e..78895f8fb8 100644 --- a/patches/server/0052-Improve-Player-chat-API-handling.patch +++ b/patches/server/0052-Improve-Player-chat-API-handling.patch @@ -40,10 +40,10 @@ index ea53b30fb9b9e0b2b9751b7a2675259fe85c66e4..4376e09828655444d1339020a2676c67 if ( org.spigotmc.SpigotConfig.logCommands ) // Spigot this.LOGGER.info(this.player.getScoreboardName() + " issued server command: " + s); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9d70513d05515f6ff3f03b5580bd48f127d73ca1..81d2d940fef25a9fb5caccbf4e2c0c9d4ece71c9 100644 +index 97801c6b11df3b80ad80d7e6fd03d769c400b417..0afb5b57fdd027b0a5aa05c4710b4ebb9c3d12ac 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -889,7 +889,7 @@ public final class CraftServer implements Server { +@@ -888,7 +888,7 @@ public final class CraftServer implements Server { public boolean dispatchCommand(CommandSender sender, String commandLine) { Preconditions.checkArgument(sender != null, "sender cannot be null"); Preconditions.checkArgument(commandLine != null, "commandLine cannot be null"); @@ -53,7 +53,7 @@ index 9d70513d05515f6ff3f03b5580bd48f127d73ca1..81d2d940fef25a9fb5caccbf4e2c0c9d if (this.commandMap.dispatch(sender, commandLine)) { 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 b8fc211d72e860c85ca39b03574db3a7b18e369f..530fba6fa83c3e87ec2501e6aa6997c108dae6d1 100644 +index ca8c713342c7e217c8bbcd2c92309ad188f7dd27..422ed20cf1d77c0b7fa0a674a5bba95cb7cbc2df 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -494,7 +494,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0053-All-chunks-are-slime-spawn-chunks-toggle.patch b/patches/server/0053-All-chunks-are-slime-spawn-chunks-toggle.patch index 673744942c..b4aefa5a78 100644 --- a/patches/server/0053-All-chunks-are-slime-spawn-chunks-toggle.patch +++ b/patches/server/0053-All-chunks-are-slime-spawn-chunks-toggle.patch @@ -18,10 +18,10 @@ index 2e343d108714bd136ab8e7b20acbf241166177de..382cdfd7d7dceeeffed1cdc34b9e475a if (random.nextInt(10) == 0 && flag && pos.getY() < 40) { return checkMobSpawnRules(type, world, spawnReason, pos, random); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -index 33677ec811ceab939c419bf7d31b99585e9a1ef1..8ae78690748b2cb5d5186d8859871c1630e10130 100644 +index 4efdde5f48f50db57fdd70f84bf36a768e2601ea..5473e6ffe55c6e0a0947356e89831d71a86cf6a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -@@ -169,7 +169,7 @@ public class CraftChunk implements Chunk { +@@ -170,7 +170,7 @@ public class CraftChunk implements Chunk { @Override public boolean isSlimeChunk() { // 987234911L is deterimined in EntitySlime when seeing if a slime can spawn in a chunk diff --git a/patches/server/0054-Expose-server-CommandMap.patch b/patches/server/0054-Expose-server-CommandMap.patch index ffe646ca1b..9df929b13e 100644 --- a/patches/server/0054-Expose-server-CommandMap.patch +++ b/patches/server/0054-Expose-server-CommandMap.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose server CommandMap diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 81d2d940fef25a9fb5caccbf4e2c0c9d4ece71c9..bfcb1e2959e33e4e0cce78e0756cd13253662790 100644 +index 0afb5b57fdd027b0a5aa05c4710b4ebb9c3d12ac..afb8f7c86558f9f72858d0e490c174d24bfcc670 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2018,6 +2018,7 @@ public final class CraftServer implements Server { +@@ -2017,6 +2017,7 @@ public final class CraftServer implements Server { return this.helpMap; } diff --git a/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch b/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch index 91d9516b57..e503e432e0 100644 --- a/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch +++ b/patches/server/0055-Be-a-bit-more-informative-in-maxHealth-exception.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Be a bit more informative in maxHealth exception diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 3f8914d800d6aceb02a1c2cbed9e5f9ecc471f86..6f1554cf7cb3707d757c40791695af679e919d28 100644 +index c6f15e2626b6c9d451173dac28c7bdb5f14097d8..d75d98eb7f1699d3b180d11573628c3dd6704c76 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -102,7 +102,12 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch b/patches/server/0056-Player-Tab-List-and-Title-APIs.patch index 6db44193b4..3a362168db 100644 --- a/patches/server/0056-Player-Tab-List-and-Title-APIs.patch +++ b/patches/server/0056-Player-Tab-List-and-Title-APIs.patch @@ -63,7 +63,7 @@ index bd808eb312ade7122973a47f4b96505829511da5..bf0f9cab7c66c089f35b851e799ba4a4 // Paper end buf.writeComponent(this.text); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 530fba6fa83c3e87ec2501e6aa6997c108dae6d1..9c66e4b6f36f634a7fe25b630b9f2e65a7b50153 100644 +index 422ed20cf1d77c0b7fa0a674a5bba95cb7cbc2df..e5b4aa1edb3f48b7356dbf25d7aba4ab6053ba03 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1,5 +1,6 @@ diff --git a/patches/server/0058-Add-velocity-warnings.patch b/patches/server/0058-Add-velocity-warnings.patch index 1eb5e79e8d..572316a101 100644 --- a/patches/server/0058-Add-velocity-warnings.patch +++ b/patches/server/0058-Add-velocity-warnings.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add velocity warnings diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index bfcb1e2959e33e4e0cce78e0756cd13253662790..7ae7ad27e8e6731a81a4bcb3e4dd0ed20d0373de 100644 +index afb8f7c86558f9f72858d0e490c174d24bfcc670..25ffb95d7d4a5b34577b1e343516996630a14705 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -302,6 +302,7 @@ public final class CraftServer implements Server { +@@ -301,6 +301,7 @@ public final class CraftServer implements Server { public boolean ignoreVanillaPermissions = false; private final List playerView; public int reloadCount; @@ -17,10 +17,10 @@ index bfcb1e2959e33e4e0cce78e0756cd13253662790..7ae7ad27e8e6731a81a4bcb3e4dd0ed2 static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 9b4e28353892240debc2d2d48876c5640d479ae9..5767eefb09d9e0e3a3d5a006242220b844d28055 100644 +index 38ef3c68cb8581c4f069362d1fc1d5d2b5171ba9..526fd29c425df1eee3b0d3502d2272605c216c19 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -471,10 +471,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -470,10 +470,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public void setVelocity(Vector velocity) { Preconditions.checkArgument(velocity != null, "velocity"); velocity.checkFinite(); diff --git a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch b/patches/server/0059-Configurable-inter-world-teleportation-safety.patch index d6403829a6..c9fcb4800a 100644 --- a/patches/server/0059-Configurable-inter-world-teleportation-safety.patch +++ b/patches/server/0059-Configurable-inter-world-teleportation-safety.patch @@ -16,7 +16,7 @@ The wanted destination was on top of the emerald block however the player ended This only is the case if the player is teleporting between worlds. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9c66e4b6f36f634a7fe25b630b9f2e65a7b50153..26ca5b2c4216f95c1f7a74245c271bdddd111c4d 100644 +index e5b4aa1edb3f48b7356dbf25d7aba4ab6053ba03..648c5fd5fe3b2f07b6b5ada7e0d48999db9a6392 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1162,7 +1162,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch b/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch index da1b18d977..456609a588 100644 --- a/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch +++ b/patches/server/0063-Add-methods-for-working-with-arrows-stuck-in-living-.patch @@ -7,7 +7,7 @@ Upstream added methods for this, original methods are now deprecated diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 6f1554cf7cb3707d757c40791695af679e919d28..184ba082edac85a7df16eeebc4473a1a193b6a26 100644 +index d75d98eb7f1699d3b180d11573628c3dd6704c76..166dfd2cde916709ef952216643bb7b92e9e1600 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -267,9 +267,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0065-Complete-resource-pack-API.patch b/patches/server/0065-Complete-resource-pack-API.patch index 31ea6c68d9..425b65e748 100644 --- a/patches/server/0065-Complete-resource-pack-API.patch +++ b/patches/server/0065-Complete-resource-pack-API.patch @@ -22,7 +22,7 @@ index b9062fe651de34d5b3f9d5f146ae0b4fe29cbfee..e8b12a8ae009023afa2818ecbf398a14 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 26ca5b2c4216f95c1f7a74245c271bdddd111c4d..4a784d3c8454549ddeaba18d36a7182059401c91 100644 +index 648c5fd5fe3b2f07b6b5ada7e0d48999db9a6392..ec1cbd610250d11536f8fc42e769b749380dc95e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -191,6 +191,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch b/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch index 9cd9a40b36..1ac629bc41 100644 --- a/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch +++ b/patches/server/0066-Default-loading-permissions.yml-before-plugins.patch @@ -16,10 +16,10 @@ modify that. Under the previous logic, plugins were unable (cleanly) override pe A config option has been added for those who depend on the previous behavior, but I don't expect that. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7ae7ad27e8e6731a81a4bcb3e4dd0ed20d0373de..311226bce4d6103ae9e8c6e4b49ccb90afcfb64d 100644 +index 25ffb95d7d4a5b34577b1e343516996630a14705..99521b04cb5d3fd6ab5fbf5b663a30c20b0341aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -465,6 +465,7 @@ public final class CraftServer implements Server { +@@ -464,6 +464,7 @@ public final class CraftServer implements Server { if (type == PluginLoadOrder.STARTUP) { this.helpMap.clear(); this.helpMap.initializeGeneralTopics(); @@ -27,7 +27,7 @@ index 7ae7ad27e8e6731a81a4bcb3e4dd0ed20d0373de..311226bce4d6103ae9e8c6e4b49ccb90 } Plugin[] plugins = this.pluginManager.getPlugins(); -@@ -484,7 +485,7 @@ public final class CraftServer implements Server { +@@ -483,7 +484,7 @@ public final class CraftServer implements Server { this.commandMap.registerServerAliases(); DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); diff --git a/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch b/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch index f3a5dc7766..54c12a2205 100644 --- a/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch +++ b/patches/server/0067-Allow-Reloading-of-Custom-Permissions.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Custom Permissions https://github.com/PaperMC/Paper/issues/49 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 311226bce4d6103ae9e8c6e4b49ccb90afcfb64d..f101155cf3ae72c0c810714cc4ad319d1116b4e0 100644 +index 99521b04cb5d3fd6ab5fbf5b663a30c20b0341aa..135fe9abe46d31cdf3a5fb3fb3dfd296e658e2cf 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2622,5 +2622,23 @@ public final class CraftServer implements Server { +@@ -2621,5 +2621,23 @@ public final class CraftServer implements Server { } return this.adventure$audiences; } diff --git a/patches/server/0068-Remove-Metadata-on-reload.patch b/patches/server/0068-Remove-Metadata-on-reload.patch index ddc5f1b1d3..c96e0c02a2 100644 --- a/patches/server/0068-Remove-Metadata-on-reload.patch +++ b/patches/server/0068-Remove-Metadata-on-reload.patch @@ -7,10 +7,10 @@ Metadata is not meant to persist reload as things break badly with non primitive This will remove metadata on reload so it does not crash everything if a plugin uses it. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f101155cf3ae72c0c810714cc4ad319d1116b4e0..0476ae7a485c2ac74b39965f0727fbfd372c3be2 100644 +index 135fe9abe46d31cdf3a5fb3fb3dfd296e658e2cf..69934e156db7fdec00b6b77b20835894a1e3dcb3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -956,8 +956,16 @@ public final class CraftServer implements Server { +@@ -955,8 +955,16 @@ public final class CraftServer implements Server { world.spigotConfig.init(); // Spigot } diff --git a/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch b/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch index 50cf52faca..7a39dc5c56 100644 --- a/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch +++ b/patches/server/0069-Handle-Item-Meta-Inconsistencies.patch @@ -187,7 +187,7 @@ index 40aad6a209fbded448e3db21207a85d9f2875e71..4dcbd1ed61070c12adf5871a595875ca static Map getEnchantments(net.minecraft.world.item.ItemStack item) { diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881aaf89817d 100644 +index ed81ad09313730173cc5d5617d67da4ae2bf3e78..bea70b11dcd3039f22b1891f2ea3d86c79367024 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java @@ -6,6 +6,7 @@ import com.google.common.collect.ImmutableList; @@ -214,7 +214,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a import java.util.logging.Level; import java.util.logging.Logger; import javax.annotation.Nonnull; -@@ -275,7 +278,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -276,7 +279,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private List lore; // null and empty are two different states internally private Integer customModelData; private CompoundTag blockData; @@ -223,7 +223,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a private Multimap attributeModifiers; private int repairCost; private int hideFlag; -@@ -286,7 +289,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -287,7 +290,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); private CompoundTag internalTag; @@ -232,7 +232,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a private CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftMetaItem.DATA_TYPE_REGISTRY); private int version = CraftMagicNumbers.INSTANCE.getDataVersion(); // Internal use only -@@ -307,7 +310,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -308,7 +311,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.blockData = meta.blockData; if (meta.enchantments != null) { // Spigot @@ -241,7 +241,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a } if (meta.hasAttributeModifiers()) { -@@ -390,13 +393,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -391,13 +394,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -257,7 +257,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a for (int i = 0; i < ench.size(); i++) { String id = ((CompoundTag) ench.get(i)).getString(ENCHANTMENTS_ID.NBT); -@@ -549,13 +552,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -550,13 +553,13 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -273,7 +273,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a for (Map.Entry entry : ench.entrySet()) { // Doctor older enchants String enchantKey = entry.getKey().toString(); -@@ -831,14 +834,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -832,14 +835,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Override public Map getEnchants() { @@ -290,7 +290,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a } if (ignoreRestrictions || level >= ench.getStartLevel() && level <= ench.getMaxLevel()) { -@@ -1227,7 +1230,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1228,7 +1231,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.customModelData = this.customModelData; clone.blockData = this.blockData; if (this.enchantments != null) { @@ -299,7 +299,7 @@ index 44244166ec4e8ac070404101219efbc0e5f1d168..092695d4b45205fe2290f8f4375e881a } if (this.hasAttributeModifiers()) { clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers); -@@ -1469,4 +1472,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1470,4 +1473,22 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return CraftMetaItem.HANDLED_TAGS; } } diff --git a/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch b/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch index dd675859bd..e0f98a51ef 100644 --- a/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch +++ b/patches/server/0074-handle-NaN-health-absorb-values-and-repair-bad-data.patch @@ -44,7 +44,7 @@ index c5d4f36dda7c977b3a7563f4d2d74ebcf7dc61ef..fa03c3a9debe419dd4e60764de4d9544 protected void internalSetAbsorptionAmount(float absorptionAmount) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4a784d3c8454549ddeaba18d36a7182059401c91..bedeae40c7a88b7c13babb9ef8c94983a2ac4fef 100644 +index ec1cbd610250d11536f8fc42e769b749380dc95e..7f9dceaf41426a88d682774c30a959db368fd03b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2165,6 +2165,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0106-Add-setting-for-proxy-online-mode-status.patch b/patches/server/0106-Add-setting-for-proxy-online-mode-status.patch index 3e700955a0..1a974e7c8e 100644 --- a/patches/server/0106-Add-setting-for-proxy-online-mode-status.patch +++ b/patches/server/0106-Add-setting-for-proxy-online-mode-status.patch @@ -43,10 +43,10 @@ index 0214830d9bc98b8d435ff11f40df65596980cf77..5db27d7bcaaa2eeaeeb08401513d8d23 } else { String[] astring1 = astring; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0476ae7a485c2ac74b39965f0727fbfd372c3be2..649f9a5604da73f332ad6c9725bddab5e85f1ae7 100644 +index 69934e156db7fdec00b6b77b20835894a1e3dcb3..085c11983884911a61bc96a6df07ad8a96657e6c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1727,7 +1727,7 @@ public final class CraftServer implements Server { +@@ -1726,7 +1726,7 @@ public final class CraftServer implements Server { // Spigot Start GameProfile profile = null; // Only fetch an online UUID in online mode diff --git a/patches/server/0110-Add-EntityZapEvent.patch b/patches/server/0110-Add-EntityZapEvent.patch index a4f9bbdf78..6b786427d4 100644 --- a/patches/server/0110-Add-EntityZapEvent.patch +++ b/patches/server/0110-Add-EntityZapEvent.patch @@ -28,7 +28,7 @@ index 2f97e4f0078cecbcf044d0b27f375638a6ea047b..b70ee1dff0442de32a9e20ad54b246d5 entitywitch.finalizeSpawn(world, world.getCurrentDifficultyAt(entitywitch.blockPosition()), MobSpawnType.CONVERSION, (SpawnGroupData) null, (CompoundTag) null); entitywitch.setNoAi(this.isNoAi()); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 8e1bb9d86ec12240b00ee118a88ebe4dec4e6329..e974520bb5c069229b214962a5e377b92c07e339 100644 +index 52a5f1a6585abe42018e8758c5ac462bfb0fe1d1..4d19bb09c3f6090de552982a8722c742892913eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1240,6 +1240,14 @@ public class CraftEventFactory { diff --git a/patches/server/0113-Allow-Reloading-of-Command-Aliases.patch b/patches/server/0113-Allow-Reloading-of-Command-Aliases.patch index 26dff29483..099a0a09eb 100644 --- a/patches/server/0113-Allow-Reloading-of-Command-Aliases.patch +++ b/patches/server/0113-Allow-Reloading-of-Command-Aliases.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow Reloading of Command Aliases Reload the aliases stored in commands.yml diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 649f9a5604da73f332ad6c9725bddab5e85f1ae7..9e198a0547c17c2f913ff9fc35bfb22b335a0b95 100644 +index 085c11983884911a61bc96a6df07ad8a96657e6c..c3d60b4fe6e19e7c67926529b650bd61eaf869d2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2648,5 +2648,24 @@ public final class CraftServer implements Server { +@@ -2647,5 +2647,24 @@ public final class CraftServer implements Server { DefaultPermissions.registerCorePermissions(); CraftDefaultPermissions.registerCorePermissions(); } diff --git a/patches/server/0114-Add-source-to-PlayerExpChangeEvent.patch b/patches/server/0114-Add-source-to-PlayerExpChangeEvent.patch index fe5b42189d..8e82cad32b 100644 --- a/patches/server/0114-Add-source-to-PlayerExpChangeEvent.patch +++ b/patches/server/0114-Add-source-to-PlayerExpChangeEvent.patch @@ -18,7 +18,7 @@ index 93c83cfedc7d3a169ad0504aa6e63f600873501b..9dffdfe5bbd0517e9a2c6a6770eea07b --this.count; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index e974520bb5c069229b214962a5e377b92c07e339..db681778c2eae84b1e564413ba239b7300ea1789 100644 +index 4d19bb09c3f6090de552982a8722c742892913eb..6e6060563fad15c5c2c0d0248bce067aa3104572 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1193,6 +1193,17 @@ public class CraftEventFactory { diff --git a/patches/server/0115-Add-ProjectileCollideEvent.patch b/patches/server/0115-Add-ProjectileCollideEvent.patch index 5bf5f3b5fb..5b301d354f 100644 --- a/patches/server/0115-Add-ProjectileCollideEvent.patch +++ b/patches/server/0115-Add-ProjectileCollideEvent.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Add ProjectileCollideEvent Deprecated now and replaced with ProjectileHitEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index db681778c2eae84b1e564413ba239b7300ea1789..f51a0e99d7e3ad6379057175931cf95e863b45dd 100644 +index 6e6060563fad15c5c2c0d0248bce067aa3104572..9546f716da41aef994d8e3799bdf5c6b74e96ad6 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1337,6 +1337,17 @@ public class CraftEventFactory { diff --git a/patches/server/0121-String-based-Action-Bar-API.patch b/patches/server/0121-String-based-Action-Bar-API.patch index f597ed3118..e4802216d8 100644 --- a/patches/server/0121-String-based-Action-Bar-API.patch +++ b/patches/server/0121-String-based-Action-Bar-API.patch @@ -26,7 +26,7 @@ index 32ef3edebe94a2014168b7e438752a80b2687e5f..ab6c58eed6707ab7b0aa3e7549a871ad // Paper end buf.writeComponent(this.text); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index bedeae40c7a88b7c13babb9ef8c94983a2ac4fef..18db64ff86517c7ceb98590c0c91e0c21855db72 100644 +index 7f9dceaf41426a88d682774c30a959db368fd03b..8c37947e9bc58f537691f2d83e2f419fc9f10d8e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -342,6 +342,29 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch b/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch index 6324b36515..4ef6fbe143 100644 --- a/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch +++ b/patches/server/0125-Provide-E-TE-Chunk-count-stat-methods.patch @@ -20,7 +20,7 @@ index 7b681914b7f9e7fb6d2ea607e0d63ca7024a7ec3..7cfcbc1e38f5e9145c827dfe26299277 private final List pendingBlockEntityTickers = Lists.newArrayList(); private boolean tickingBlockEntities; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f4f94185cf699582737aecee1d3623c7857fbbb5..6b0dba6f7211500ba5950a76d2b2252a09f65103 100644 +index a41c937d8b4648c900bf6b5d4c47fcd0bbc72401..53a5f6709bca2aa76297e55e555cbfeb38e8ad4e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -154,6 +154,56 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch b/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch index 265dc16abd..36c67d7931 100644 --- a/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch +++ b/patches/server/0127-ExperienceOrbs-API-for-Reason-Source-Triggering-play.patch @@ -324,10 +324,10 @@ index e72ed2ed8664cbc408cbe1e38f1f0acacc3841dd..2f628f36c32752d1bac910e180b90639 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 8e1d70bbc433780f264dde137aa7f37e7f6362cd..3dd759d030411420f93eb5ac51f2087ecbf2dc49 100644 +index 8beb4670fffa2df0a9bd64ebb8810b25ce670f16..134b138abdf17fae340226ecac3868ad7a993086 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -942,7 +942,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -943,7 +943,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new PrimedTnt(world, x, y, z, null); } else if (ExperienceOrb.class.isAssignableFrom(clazz)) { diff --git a/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch b/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch index fb87a15c0a..c3879a9497 100644 --- a/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch +++ b/patches/server/0133-Add-configuration-option-to-prevent-player-names-fro.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add configuration option to prevent player names from being diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9e198a0547c17c2f913ff9fc35bfb22b335a0b95..d3a9b47ab78844e5cb6a04a790e079fe22bf153c 100644 +index c3d60b4fe6e19e7c67926529b650bd61eaf869d2..7631ccc163b9370eb4f0c181bf1f7ef657dfc828 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2667,5 +2667,10 @@ public final class CraftServer implements Server { +@@ -2666,5 +2666,10 @@ public final class CraftServer implements Server { commandMap.registerServerAliases(); return true; } diff --git a/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch b/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch index f62590803e..1f7367ac49 100644 --- a/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch +++ b/patches/server/0134-Use-TerminalConsoleAppender-for-console-improvements.patch @@ -389,7 +389,7 @@ index 845a90426545b554aaf5c278723c107ba9791270..a3c150e9552fbc9b9244c70508c27f03 this.bans = new UserBanList(PlayerList.USERBANLIST_FILE); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d3a9b47ab78844e5cb6a04a790e079fe22bf153c..7b019dcb70b430c36112e68c837b2b4aeb1aacc7 100644 +index 7631ccc163b9370eb4f0c181bf1f7ef657dfc828..66de956051f6c5b66f806063869e25430144c6ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -44,7 +44,6 @@ import java.util.logging.Level; @@ -400,7 +400,7 @@ index d3a9b47ab78844e5cb6a04a790e079fe22bf153c..7b019dcb70b430c36112e68c837b2b4a import net.minecraft.advancements.Advancement; import net.minecraft.advancements.AdvancementHolder; import net.minecraft.commands.CommandSourceStack; -@@ -1295,9 +1294,13 @@ public final class CraftServer implements Server { +@@ -1294,9 +1293,13 @@ public final class CraftServer implements Server { return this.logger; } diff --git a/patches/server/0136-Item-canEntityPickup.patch b/patches/server/0136-Item-canEntityPickup.patch index b9e7c7eae5..87899f7022 100644 --- a/patches/server/0136-Item-canEntityPickup.patch +++ b/patches/server/0136-Item-canEntityPickup.patch @@ -21,7 +21,7 @@ index 873a96693110982600d3e7979489fb00f3cd7941..645ee527b9e7e7edbf3320eae6e441be } } diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 23c51152288d9616673ef544a09dd816dff44cf6..2d1b8d6e490e1dcde801feaae2518a59ed35e440 100644 +index 11dad6b6c6cf922417ab54a1db13d809c10c999e..adb8ac976397322f0b4122fd9469dd5191f207f7 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -52,6 +52,7 @@ public class ItemEntity extends Entity implements TraceableEntity { diff --git a/patches/server/0137-PlayerPickupItemEvent-setFlyAtPlayer.patch b/patches/server/0137-PlayerPickupItemEvent-setFlyAtPlayer.patch index 055fdfe928..d257dcb087 100644 --- a/patches/server/0137-PlayerPickupItemEvent-setFlyAtPlayer.patch +++ b/patches/server/0137-PlayerPickupItemEvent-setFlyAtPlayer.patch @@ -5,7 +5,7 @@ Subject: [PATCH] PlayerPickupItemEvent#setFlyAtPlayer diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 2d1b8d6e490e1dcde801feaae2518a59ed35e440..0816b5fd4a384e5f8939c6d573666802dceb255c 100644 +index adb8ac976397322f0b4122fd9469dd5191f207f7..4885c8ff438796cf7a90e73e2db32a1877f60fa4 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -404,6 +404,7 @@ public class ItemEntity extends Entity implements TraceableEntity { diff --git a/patches/server/0138-PlayerAttemptPickupItemEvent.patch b/patches/server/0138-PlayerAttemptPickupItemEvent.patch index 8ee62f6cc1..1026175974 100644 --- a/patches/server/0138-PlayerAttemptPickupItemEvent.patch +++ b/patches/server/0138-PlayerAttemptPickupItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] PlayerAttemptPickupItemEvent diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 0816b5fd4a384e5f8939c6d573666802dceb255c..91eba1c571764c88489ea2598fb9b4736554d5cc 100644 +index 4885c8ff438796cf7a90e73e2db32a1877f60fa4..5744d726c4e7a970db5c1c3764d530d839d95597 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -36,6 +36,7 @@ import org.bukkit.entity.Player; diff --git a/patches/server/0139-Do-not-submit-profile-lookups-to-worldgen-threads.patch b/patches/server/0139-Do-not-submit-profile-lookups-to-worldgen-threads.patch index edcf1062d4..cbf775fcbe 100644 --- a/patches/server/0139-Do-not-submit-profile-lookups-to-worldgen-threads.patch +++ b/patches/server/0139-Do-not-submit-profile-lookups-to-worldgen-threads.patch @@ -63,7 +63,7 @@ index cf7e64eac9e3eb395a0be0a2a4fa0175a731b6e7..f5162f7171c348ff523b18e577246561 private static boolean hasTextures(GameProfile profile) { diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -index 5a21cc441e1c925a7674299073ac374e63b911ec..ac05e268c9f00bca9f8ac19650937eede711810b 100644 +index eef39c0323c57cbe33cee4cd38ad9f48654df2a9..9eafa36b086ed4cde107b81aa9470d1a43e557f1 100644 --- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java +++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java @@ -125,7 +125,7 @@ public final class CraftPlayerProfile implements PlayerProfile { diff --git a/patches/server/0140-Add-UnknownCommandEvent.patch b/patches/server/0140-Add-UnknownCommandEvent.patch index 98800873f2..8c97ad3954 100644 --- a/patches/server/0140-Add-UnknownCommandEvent.patch +++ b/patches/server/0140-Add-UnknownCommandEvent.patch @@ -83,10 +83,10 @@ index d1ecf61ffecb8669214ad85334374a4569811de8..e63632f09d608371aaeaf09a6dac57c1 b1 = 0; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7b019dcb70b430c36112e68c837b2b4aeb1aacc7..66f241411af172e2f44edfc4e8f1b9bda86844e2 100644 +index 66de956051f6c5b66f806063869e25430144c6ce..0ef8750c7c862a44dfb0e15602ef819790c9f1a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -531,6 +531,7 @@ public final class CraftServer implements Server { +@@ -530,6 +530,7 @@ public final class CraftServer implements Server { } node = clone; } @@ -94,7 +94,7 @@ index 7b019dcb70b430c36112e68c837b2b4aeb1aacc7..66f241411af172e2f44edfc4e8f1b9bd dispatcher.getDispatcher().getRoot().addChild(node); } else { -@@ -898,7 +899,13 @@ public final class CraftServer implements Server { +@@ -897,7 +898,13 @@ public final class CraftServer implements Server { // Spigot start if (!org.spigotmc.SpigotConfig.unknownCommandMessage.isEmpty()) { diff --git a/patches/server/0141-Basic-PlayerProfile-API.patch b/patches/server/0141-Basic-PlayerProfile-API.patch index 24f2b83526..10edcc7174 100644 --- a/patches/server/0141-Basic-PlayerProfile-API.patch +++ b/patches/server/0141-Basic-PlayerProfile-API.patch @@ -614,10 +614,10 @@ index c70cd016e1978931d115cfca94664897f0158196..eac9658fa4cab7a651e10e4e18c679e0 String s1 = name.toLowerCase(Locale.ROOT); GameProfileCache.GameProfileInfo usercache_usercacheentry = (GameProfileCache.GameProfileInfo) this.profilesByName.get(s1); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 66f241411af172e2f44edfc4e8f1b9bda86844e2..e42555a01a581a094bc4bd41bf4cd8a9a45bf7c1 100644 +index 0ef8750c7c862a44dfb0e15602ef819790c9f1a4..cfb0846381f5ebfe33fc4074f21fb0993812f75c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -264,6 +264,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; +@@ -263,6 +263,9 @@ import org.yaml.snakeyaml.error.MarkedYAMLException; import net.md_5.bungee.api.chat.BaseComponent; // Spigot @@ -627,7 +627,7 @@ index 66f241411af172e2f44edfc4e8f1b9bda86844e2..e42555a01a581a094bc4bd41bf4cd8a9 public final class CraftServer implements Server { private final String serverName = "Paper"; // Paper private final String serverVersion; -@@ -306,6 +309,7 @@ public final class CraftServer implements Server { +@@ -305,6 +308,7 @@ public final class CraftServer implements Server { static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); ConfigurationSerialization.registerClass(CraftPlayerProfile.class); @@ -635,7 +635,7 @@ index 66f241411af172e2f44edfc4e8f1b9bda86844e2..e42555a01a581a094bc4bd41bf4cd8a9 CraftItemFactory.instance(); } -@@ -2682,5 +2686,37 @@ public final class CraftServer implements Server { +@@ -2681,5 +2685,37 @@ public final class CraftServer implements Server { public boolean suggestPlayerNamesWhenNullTabCompletions() { return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions; } @@ -674,7 +674,7 @@ index 66f241411af172e2f44edfc4e8f1b9bda86844e2..e42555a01a581a094bc4bd41bf4cd8a9 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -index ac05e268c9f00bca9f8ac19650937eede711810b..8d2997efaacbe37d9007861ac871fd2719c2d663 100644 +index 9eafa36b086ed4cde107b81aa9470d1a43e557f1..2d877acc4cb338193449ae37cafb0cfdc452d6b0 100644 --- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java +++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java @@ -31,7 +31,7 @@ import org.bukkit.profile.PlayerProfile; @@ -705,8 +705,8 @@ index ac05e268c9f00bca9f8ac19650937eede711810b..8d2997efaacbe37d9007861ac871fd27 public Map serialize() { + // Paper - diff on change Map map = new LinkedHashMap<>(); - if (this.uniqueId != null) { - map.put("uniqueId", this.uniqueId.toString()); + if (this.getUniqueId() != null) { + map.put("uniqueId", this.getUniqueId().toString()); @@ -260,10 +263,12 @@ public final class CraftPlayerProfile implements PlayerProfile { }); map.put("properties", propertiesData); diff --git a/patches/server/0145-Entity-fromMobSpawner.patch b/patches/server/0145-Entity-fromMobSpawner.patch index bae3882cc4..7b500645d9 100644 --- a/patches/server/0145-Entity-fromMobSpawner.patch +++ b/patches/server/0145-Entity-fromMobSpawner.patch @@ -49,10 +49,10 @@ index 7ae0465091db8e8061737bf93884afa3db49feeb..5d6403fa27521860a69a707dc4358b01 if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) { continue; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 5767eefb09d9e0e3a3d5a006242220b844d28055..a6009f9075035e34150ff692d38cac47930363d1 100644 +index 526fd29c425df1eee3b0d3502d2272605c216c19..d6583c6b77356d15025b961ebed3e20418d71318 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1301,5 +1301,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1300,5 +1300,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { //noinspection ConstantConditions return originVector.toLocation(world); } diff --git a/patches/server/0147-Implement-ensureServerConversions-API.patch b/patches/server/0147-Implement-ensureServerConversions-API.patch index 2567b6e615..2ea064c942 100644 --- a/patches/server/0147-Implement-ensureServerConversions-API.patch +++ b/patches/server/0147-Implement-ensureServerConversions-API.patch @@ -7,7 +7,7 @@ This will take a Bukkit ItemStack and run it through any conversions a server pr to ensure it meets latest minecraft expectations. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 45872e28cabc655c170bee163d471acf5d913c00..7e9e365fdce960bb266a4616d4bdc6d434cb2187 100644 +index 2fa36de5d43e2c395e0db2017bd994a62a5b2feb..0bd3a2989be4e158ba343da09914328e819a0f89 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -469,4 +469,11 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/patches/server/0148-Implement-getI18NDisplayName.patch b/patches/server/0148-Implement-getI18NDisplayName.patch index 57dc64608b..0521ce4580 100644 --- a/patches/server/0148-Implement-getI18NDisplayName.patch +++ b/patches/server/0148-Implement-getI18NDisplayName.patch @@ -8,7 +8,7 @@ Currently the server only supports the English language. To override this, You must replace the language file embedded in the server jar. diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 7e9e365fdce960bb266a4616d4bdc6d434cb2187..5aece14ec931f4c564e847a2797e92da8ffb569b 100644 +index 0bd3a2989be4e158ba343da09914328e819a0f89..709c0e9ba7b33e97666ac74412761bb0e770a037 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -476,4 +476,19 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/patches/server/0151-LivingEntity-setKiller.patch b/patches/server/0151-LivingEntity-setKiller.patch index 59c0bf521b..99c026dfbf 100644 --- a/patches/server/0151-LivingEntity-setKiller.patch +++ b/patches/server/0151-LivingEntity-setKiller.patch @@ -7,7 +7,7 @@ Subject: [PATCH] LivingEntity#setKiller public net.minecraft.world.entity.LivingEntity lastHurtByPlayerTime diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 184ba082edac85a7df16eeebc4473a1a193b6a26..03d791e98d369c1d8fe4a4da11f89301392a934d 100644 +index 166dfd2cde916709ef952216643bb7b92e9e1600..0dd733873606ae47deb5956ed1170d4b9ad3b890 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -365,6 +365,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch b/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch index 7a3de7548d..74ae2a562d 100644 --- a/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch +++ b/patches/server/0159-Expose-client-protocol-version-and-virtual-host.patch @@ -90,7 +90,7 @@ index 81bfce0374f281069f963c24040163cd968e3958..e50f0ae7ba5e0271e4c0947ea73126c9 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 18db64ff86517c7ceb98590c0c91e0c21855db72..4d324d2fc5f9966a6b27391f856c4efec98692c6 100644 +index 8c37947e9bc58f537691f2d83e2f419fc9f10d8e..6595ad35eeec3763cb3df277145c6dc7d5f1b1d6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -288,6 +288,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch b/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch index ed44d61314..85d44b0d75 100644 --- a/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch +++ b/patches/server/0166-API-to-get-a-BlockState-without-a-snapshot.patch @@ -51,10 +51,10 @@ index 63acd109a79ed752a05df3d4f1b99309297c2055..d156f7cc71050f13b2feca00c52ca6b6 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index e5750b2459e5a7513b34d644f672f3e06181172d..3205d86a63f8fcf3ccd13c6be0e0eefc27beb62a 100644 +index b7adb6acf4eca6aad0c9a48223ab47528ef7ce04..8a62231dffcff0260c1c15bd3115b27922c03239 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -332,6 +332,13 @@ public class CraftBlock implements Block { +@@ -327,6 +327,13 @@ public class CraftBlock implements Block { return CraftBlockStates.getBlockState(this); } diff --git a/patches/server/0167-AsyncTabCompleteEvent.patch b/patches/server/0167-AsyncTabCompleteEvent.patch index 7d7ee62672..830efe8223 100644 --- a/patches/server/0167-AsyncTabCompleteEvent.patch +++ b/patches/server/0167-AsyncTabCompleteEvent.patch @@ -91,10 +91,10 @@ index 1b856ecd7926e90a62045176f75d7ae6f0ac69d5..4ba7ed0a4ff52caa21632f69ab087564 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e42555a01a581a094bc4bd41bf4cd8a9a45bf7c1..2c4c8a1a4bb779de970068af5a30505f434029be 100644 +index cfb0846381f5ebfe33fc4074f21fb0993812f75c..1eb5f95848a25a0a002a3ec9e8edf03be63b140a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2132,7 +2132,7 @@ public final class CraftServer implements Server { +@@ -2131,7 +2131,7 @@ public final class CraftServer implements Server { offers = this.tabCompleteChat(player, message); } diff --git a/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch b/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch index 524104d241..388526d9f5 100644 --- a/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch +++ b/patches/server/0169-Ability-to-apply-mending-to-XP-API.patch @@ -14,7 +14,7 @@ public net.minecraft.world.entity.ExperienceOrb durabilityToXp(I)I public net.minecraft.world.entity.ExperienceOrb xpToDurability(I)I diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4d324d2fc5f9966a6b27391f856c4efec98692c6..18d7e0ab3c57a3daa819cd20e8ff6cd33b4c2edc 100644 +index 6595ad35eeec3763cb3df277145c6dc7d5f1b1d6..9920a3d81c44972cba742d67764b5066362f79aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1540,7 +1540,37 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0171-Add-setPlayerProfile-API-for-Skulls.patch b/patches/server/0171-Add-setPlayerProfile-API-for-Skulls.patch index ec21bcdbde..c97292cc20 100644 --- a/patches/server/0171-Add-setPlayerProfile-API-for-Skulls.patch +++ b/patches/server/0171-Add-setPlayerProfile-API-for-Skulls.patch @@ -7,7 +7,7 @@ This allows you to create already filled textures on Skulls to avoid texture loo which commonly cause rate limit issues with Mojang API diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java b/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java -index 4650b4cd7f8625ee5e1dba47f47ffa9221e3d097..e193572862fbc78b3adb531fd567c919afdc718e 100644 +index 46f295fb5f4a99924c41e6d0af74dc2437d08186..b47aac01f8d227699aac28a5beac8206802852cc 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftSkull.java @@ -107,7 +107,22 @@ public class CraftSkull extends CraftBlockEntityState implemen @@ -48,7 +48,7 @@ index 4650b4cd7f8625ee5e1dba47f47ffa9221e3d097..e193572862fbc78b3adb531fd567c919 } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index f8e2315845b15af230f43521b53f943ee58b9117..fe7a8e48a620630a6365edd22466f348de0dc508 100644 +index b202f425cbb880079b9e3ec64d077482d7aa5f99..9b9e20014042da4324c9f4babb05d8ba9513f81d 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -187,6 +187,19 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { diff --git a/patches/server/0175-Add-ArmorStand-Item-Meta.patch b/patches/server/0175-Add-ArmorStand-Item-Meta.patch index ce31026c13..a0ed3f16ca 100644 --- a/patches/server/0175-Add-ArmorStand-Item-Meta.patch +++ b/patches/server/0175-Add-ArmorStand-Item-Meta.patch @@ -255,10 +255,10 @@ index 4017933f2244fca32cf9d39444f3a4f550e8af01..e721517ce7b52a1aa10d039aa9f309eb + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 092695d4b45205fe2290f8f4375e881aaf89817d..8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff 100644 +index bea70b11dcd3039f22b1891f2ea3d86c79367024..157459f8e9772216229b132f5b9247bcb761072f 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -1462,6 +1462,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1463,6 +1463,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaCrossbow.CHARGED.NBT, CraftMetaCrossbow.CHARGED_PROJECTILES.NBT, CraftMetaSuspiciousStew.EFFECTS.NBT, diff --git a/patches/server/0182-Player.setPlayerProfile-API.patch b/patches/server/0182-Player.setPlayerProfile-API.patch index f6ca0acab5..6db7300946 100644 --- a/patches/server/0182-Player.setPlayerProfile-API.patch +++ b/patches/server/0182-Player.setPlayerProfile-API.patch @@ -40,7 +40,7 @@ index 41de3c342f1dae9fc6af1b4938a676d337bcf5fa..f870c20ecce27ebd893107a35e1b8f15 playerName = gameprofile.getName(); uniqueId = gameprofile.getId(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index b17fe83bcd7bde44ee8c1f872fffa8bf40707c50..aac78c13361b19efa7b43a0c95458390f1ba8340 100644 +index 498b14ca0e45b76259450d9a0c8206b1e9f25e70..c1ef6c8c8e5f030e18b6066a509350ee1e195987 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java @@ -81,8 +81,8 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa @@ -55,7 +55,7 @@ index b17fe83bcd7bde44ee8c1f872fffa8bf40707c50..aac78c13361b19efa7b43a0c95458390 public Server getServer() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 18d7e0ab3c57a3daa819cd20e8ff6cd33b4c2edc..ec9c0fe82ae5bba9a272d8a834f3f6bcf01cf205 100644 +index 9920a3d81c44972cba742d67764b5066362f79aa..e864252e4fcd0927275d6b9009cdde78d3e289eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -271,11 +271,6 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -200,10 +200,10 @@ index 18d7e0ab3c57a3daa819cd20e8ff6cd33b4c2edc..ec9c0fe82ae5bba9a272d8a834f3f6bc public void onEntityRemove(Entity entity) { this.invertedVisibilityEntities.remove(entity.getUUID()); diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 173a2832f029e3d568208a1b56419c1b8501483c..48cdd483c25825571043800f3cfa41a4d723f649 100644 +index 44b73939c465398c8cfda5dbea3280392f194add..aba415ab7203a21e916eadb923cb02c03b679f65 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -329,6 +329,12 @@ public class Commodore +@@ -338,6 +338,12 @@ public class Commodore return; } diff --git a/patches/server/0183-getPlayerUniqueId-API.patch b/patches/server/0183-getPlayerUniqueId-API.patch index 8b6772fe45..36cda224fb 100644 --- a/patches/server/0183-getPlayerUniqueId-API.patch +++ b/patches/server/0183-getPlayerUniqueId-API.patch @@ -9,10 +9,10 @@ In Offline Mode, will return an Offline UUID This is a more performant way to obtain a UUID for a name than loading an OfflinePlayer diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2c4c8a1a4bb779de970068af5a30505f434029be..70db3c9fc868e6d87f4fc85fd1ae5ac756be7b7d 100644 +index 1eb5f95848a25a0a002a3ec9e8edf03be63b140a..b0f76a563d640360b73cb1779eae74fbf552f54e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1730,6 +1730,25 @@ public final class CraftServer implements Server { +@@ -1729,6 +1729,25 @@ public final class CraftServer implements Server { return recipients.size(); } diff --git a/patches/server/0187-Flag-to-disable-the-channel-limit.patch b/patches/server/0187-Flag-to-disable-the-channel-limit.patch index c0de29b0a2..48f53078a7 100644 --- a/patches/server/0187-Flag-to-disable-the-channel-limit.patch +++ b/patches/server/0187-Flag-to-disable-the-channel-limit.patch @@ -9,7 +9,7 @@ e.g. servers which allow and support the usage of mod packs. provide an optional flag to disable this check, at your own risk. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ec9c0fe82ae5bba9a272d8a834f3f6bcf01cf205..04b3dc0c856a515f09e56cb40f9313e970f20cca 100644 +index e864252e4fcd0927275d6b9009cdde78d3e289eb..28a51536bcfcb124fecc61095227cabd8844d4e6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -194,6 +194,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch b/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch index 384e79120e..527c650c55 100644 --- a/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch +++ b/patches/server/0193-Expand-World.spawnParticle-API-and-add-Builder.patch @@ -34,7 +34,7 @@ index 445b8839d2a7a5ec2debb853d606e499c2a1f20b..4c1911140197568685524721e3140739 if (this.sendParticles(entityplayer, force, d0, d1, d2, packetplayoutworldparticles)) { // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6b0dba6f7211500ba5950a76d2b2252a09f65103..262e73f5b6ff9b681b6c441df3b2e79265ade02d 100644 +index 53a5f6709bca2aa76297e55e555cbfeb38e8ad4e..2104609f5dae00457725a57a03e3d51e2bb8b841 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1863,11 +1863,17 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0199-Allow-spawning-Item-entities-with-World.spawnEntity.patch b/patches/server/0199-Allow-spawning-Item-entities-with-World.spawnEntity.patch index 76bf7193bc..ea1eda36f6 100644 --- a/patches/server/0199-Allow-spawning-Item-entities-with-World.spawnEntity.patch +++ b/patches/server/0199-Allow-spawning-Item-entities-with-World.spawnEntity.patch @@ -8,10 +8,10 @@ This API has more capabilities than .dropItem with the Consumer function Item can be set inside of the Consumer pre spawn function. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 3dd759d030411420f93eb5ac51f2087ecbf2dc49..91fbc67eefea473211b99e4338f6464f58dc5592 100644 +index 134b138abdf17fae340226ecac3868ad7a993086..75d4c33768a8ab15a94bcb71b2aa724cad1ce0aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -592,6 +592,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -593,6 +593,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { entity = net.minecraft.world.entity.EntityType.BOAT.create(world); } entity.moveTo(x, y, z, yaw, pitch); diff --git a/patches/server/0204-Fix-CraftEntity-hashCode.patch b/patches/server/0204-Fix-CraftEntity-hashCode.patch index abbb6ca27b..bc20ef512e 100644 --- a/patches/server/0204-Fix-CraftEntity-hashCode.patch +++ b/patches/server/0204-Fix-CraftEntity-hashCode.patch @@ -21,10 +21,10 @@ check is essentially the same as this.getHandle() == other.getHandle() However, replaced it too to make it clearer of intent. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index a6009f9075035e34150ff692d38cac47930363d1..0fd9119c710afdd46a60d81ae3f9ce5da88d2541 100644 +index d6583c6b77356d15025b961ebed3e20418d71318..e3ed6a4315f8e0411144a5e585f9f49114cdf1b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -841,14 +841,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -840,14 +840,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return false; } final CraftEntity other = (CraftEntity) obj; diff --git a/patches/server/0207-Make-shield-blocking-delay-configurable.patch b/patches/server/0207-Make-shield-blocking-delay-configurable.patch index 874bede2bd..873cffe2fe 100644 --- a/patches/server/0207-Make-shield-blocking-delay-configurable.patch +++ b/patches/server/0207-Make-shield-blocking-delay-configurable.patch @@ -35,7 +35,7 @@ index 231ba23fabeb88b659a7ea9702eebe4aad72a209..5fb892e47b1ad33435e2aafeb1212ffe return this.isShiftKeyDown(); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 03d791e98d369c1d8fe4a4da11f89301392a934d..78c27ec1135c55baf16d1794f4f33d9b36bc0aa6 100644 +index 0dd733873606ae47deb5956ed1170d4b9ad3b890..d38f1661c1d5bfc4a0c5601bfac959b7527022ed 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -810,5 +810,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0211-Expand-Explosions-API.patch b/patches/server/0211-Expand-Explosions-API.patch index 69153e513a..a87e7c6fba 100644 --- a/patches/server/0211-Expand-Explosions-API.patch +++ b/patches/server/0211-Expand-Explosions-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Expand Explosions API Add Entity as a Source capability, and add more API choices, and on Location. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 262e73f5b6ff9b681b6c441df3b2e79265ade02d..3218f5409cb26fcbd74a754a50b6f5f1ec3cb4a7 100644 +index 2104609f5dae00457725a57a03e3d51e2bb8b841..f288570c8b3cee0c0b79981f332c1c067cd7bb9e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -716,6 +716,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0212-LivingEntity-Hand-Raised-Item-Use-API.patch b/patches/server/0212-LivingEntity-Hand-Raised-Item-Use-API.patch index d671d46234..816010e115 100644 --- a/patches/server/0212-LivingEntity-Hand-Raised-Item-Use-API.patch +++ b/patches/server/0212-LivingEntity-Hand-Raised-Item-Use-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] LivingEntity Hand Raised/Item Use API How long an entity has raised hands to charge an attack or use an item diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 78c27ec1135c55baf16d1794f4f33d9b36bc0aa6..f8340bd15c978c2b9124ee57dd55484bfd608f62 100644 +index d38f1661c1d5bfc4a0c5601bfac959b7527022ed..c2e83cc533decd31f21c7c732cdc32d8b52bc418 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -820,5 +820,30 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0215-Implement-World.getEntity-UUID-API.patch b/patches/server/0215-Implement-World.getEntity-UUID-API.patch index 761dbd4806..dac9f6070c 100644 --- a/patches/server/0215-Implement-World.getEntity-UUID-API.patch +++ b/patches/server/0215-Implement-World.getEntity-UUID-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement World.getEntity(UUID) API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 3218f5409cb26fcbd74a754a50b6f5f1ec3cb4a7..71ac1f681fe2518d2b0f52597310e7b538a0b1d8 100644 +index f288570c8b3cee0c0b79981f332c1c067cd7bb9e..a29cb2e267e0a9d7f4cec3cf503968933b999435 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1040,6 +1040,15 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0216-InventoryCloseEvent-Reason-API.patch b/patches/server/0216-InventoryCloseEvent-Reason-API.patch index 10df8131bc..a7c1ab6a9b 100644 --- a/patches/server/0216-InventoryCloseEvent-Reason-API.patch +++ b/patches/server/0216-InventoryCloseEvent-Reason-API.patch @@ -173,7 +173,7 @@ index e5b2686e466a2604ebcdb6e5c3b6fb7ff7bc6eec..aa131c233ee9d7926ca77e1afedd27ba @Override public boolean isBlocking() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 04b3dc0c856a515f09e56cb40f9313e970f20cca..4dc09147e29bc43c854546e18cf2af41622a8a8f 100644 +index 28a51536bcfcb124fecc61095227cabd8844d4e6..1f2c0e3788700a5900664fa61e811a286a347393 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1191,7 +1191,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -186,7 +186,7 @@ index 04b3dc0c856a515f09e56cb40f9313e970f20cca..4dc09147e29bc43c854546e18cf2af41 // Check if the fromWorld and toWorld are the same. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index f51a0e99d7e3ad6379057175931cf95e863b45dd..dde0bc20808e988c6d44dd42e20155cbe72d1757 100644 +index 9546f716da41aef994d8e3799bdf5c6b74e96ad6..1ee49bb62df6f9c7e88a8484ce97103ada5d6d6d 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1306,7 +1306,7 @@ public class CraftEventFactory { diff --git a/patches/server/0226-Vanished-players-don-t-have-rights.patch b/patches/server/0226-Vanished-players-don-t-have-rights.patch index 5eec807aca..96d8cd6bff 100644 --- a/patches/server/0226-Vanished-players-don-t-have-rights.patch +++ b/patches/server/0226-Vanished-players-don-t-have-rights.patch @@ -89,7 +89,7 @@ index 0b02ba70956ea1352ea8e67957b3789408b67f6b..8320bece16dfa339e33801e43ff2f297 public boolean isClientSide() { return this.isClientSide; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index dde0bc20808e988c6d44dd42e20155cbe72d1757..f423e98fccb7712f7d989ee5780dd5e7b824255f 100644 +index 1ee49bb62df6f9c7e88a8484ce97103ada5d6d6d..5e20a49940e7fdbc470193b44a604829e38fbae6 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1343,6 +1343,14 @@ public class CraftEventFactory { diff --git a/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch b/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch index d3d640afc0..86c13487be 100644 --- a/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch +++ b/patches/server/0237-Add-Early-Warning-Feature-to-WatchDog.patch @@ -33,10 +33,10 @@ index 5a3f0a6e3f663718993cf3679ffc96c4af140e4d..cdc020e1787c258ba283d86a25ab1532 com.destroystokyo.paper.Metrics.PaperMetrics.startMetrics(); com.destroystokyo.paper.VersionHistoryManager.INSTANCE.getClass(); // load version history now diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 70db3c9fc868e6d87f4fc85fd1ae5ac756be7b7d..145476b25f7d7d60c7bc4891e71484c74011cac2 100644 +index b0f76a563d640360b73cb1779eae74fbf552f54e..c5a59f5f94ded049d39b1e1ffac1a71f4c5b9535 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -918,6 +918,7 @@ public final class CraftServer implements Server { +@@ -917,6 +917,7 @@ public final class CraftServer implements Server { @Override public void reload() { @@ -44,7 +44,7 @@ index 70db3c9fc868e6d87f4fc85fd1ae5ac756be7b7d..145476b25f7d7d60c7bc4891e71484c7 this.reloadCount++; this.configuration = YamlConfiguration.loadConfiguration(this.getConfigFile()); this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile()); -@@ -1007,6 +1008,7 @@ public final class CraftServer implements Server { +@@ -1006,6 +1007,7 @@ public final class CraftServer implements Server { this.enablePlugins(PluginLoadOrder.STARTUP); this.enablePlugins(PluginLoadOrder.POSTWORLD); this.getPluginManager().callEvent(new ServerLoadEvent(ServerLoadEvent.LoadType.RELOAD)); diff --git a/patches/server/0240-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch b/patches/server/0240-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch index 4d0160d028..34206bbb74 100644 --- a/patches/server/0240-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch +++ b/patches/server/0240-Ability-to-get-Tile-Entities-from-a-chunk-without-sn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ability to get Tile Entities from a chunk without snapshots diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -index 8ae78690748b2cb5d5186d8859871c1630e10130..b738e1f7debac7d70910d5ac908ca9d4f60640d5 100644 +index 5473e6ffe55c6e0a0947356e89831d71a86cf6a5..d10dcf5b9c987bbd4761470c16c9d4693ccf896d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -@@ -125,6 +125,13 @@ public class CraftChunk implements Chunk { +@@ -126,6 +126,13 @@ public class CraftChunk implements Chunk { @Override public BlockState[] getTileEntities() { @@ -22,7 +22,7 @@ index 8ae78690748b2cb5d5186d8859871c1630e10130..b738e1f7debac7d70910d5ac908ca9d4 if (!this.isLoaded()) { this.getWorld().getChunkAt(x, z); // Transient load for this tick } -@@ -134,7 +141,29 @@ public class CraftChunk implements Chunk { +@@ -135,7 +142,29 @@ public class CraftChunk implements Chunk { BlockState[] entities = new BlockState[chunk.blockEntities.size()]; for (BlockPos position : chunk.blockEntities.keySet()) { diff --git a/patches/server/0245-Optimize-CraftBlockData-Creation.patch b/patches/server/0245-Optimize-CraftBlockData-Creation.patch index f8689393eb..22f9194649 100644 --- a/patches/server/0245-Optimize-CraftBlockData-Creation.patch +++ b/patches/server/0245-Optimize-CraftBlockData-Creation.patch @@ -26,10 +26,10 @@ index 6c171199dcc30f56a6d0ab7ecf398b505d145067..916d7b35145345cb3bf5ca46df38eae0 private boolean calculateSolid() { if (((Block) this.owner).properties.forceSolidOn) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index 745d2c589df8c59db327d7482024096473318812..c80aaa37b7d63acfb283641a4804dc2a32156eda 100644 +index bb3ebf590e3e6aa6d9ac892095d58b926d2fa50d..777539309639569d9057e4de86c3957a7a72a47f 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -560,7 +560,17 @@ public class CraftBlockData implements BlockData { +@@ -561,7 +561,17 @@ public class CraftBlockData implements BlockData { return craft; } diff --git a/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch b/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch index 9e08bc2db2..8223a1714e 100644 --- a/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch +++ b/patches/server/0250-Make-CraftWorld-loadChunk-int-int-false-load-unconve.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Make CraftWorld#loadChunk(int, int, false) load unconverted diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 71ac1f681fe2518d2b0f52597310e7b538a0b1d8..71e68b9cdafbacc84c317cfb2126d4da472d9f63 100644 +index a29cb2e267e0a9d7f4cec3cf503968933b999435..6e806ede0d94cb3cdb7e772ba56a010ad241590c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -400,7 +400,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch b/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch index 08d76f881e..7da734e2eb 100644 --- a/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch +++ b/patches/server/0251-Add-ray-tracing-methods-to-LivingEntity.patch @@ -30,7 +30,7 @@ index 7d7c8772bd8dfb96cfff2c1f020719c0156a09cd..8f8f343139444cc6fddf0d13083194ec public int getShieldBlockingDelay() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index f8340bd15c978c2b9124ee57dd55484bfd608f62..3d9e4ebb29f670d32bfe044ad22daaf82313498d 100644 +index c2e83cc533decd31f21c7c732cdc32d8b52bc418..e327cc9f2513ae79a871ac2ab144389b71a88f2a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -201,6 +201,33 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0252-Expose-attack-cooldown-methods-for-Player.patch b/patches/server/0252-Expose-attack-cooldown-methods-for-Player.patch index 20ca3168a8..7a23ae5674 100644 --- a/patches/server/0252-Expose-attack-cooldown-methods-for-Player.patch +++ b/patches/server/0252-Expose-attack-cooldown-methods-for-Player.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose attack cooldown methods for Player diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4dc09147e29bc43c854546e18cf2af41622a8a8f..d141e55f92d6c7f211a1a91bd5379144137e7b25 100644 +index 1f2c0e3788700a5900664fa61e811a286a347393..9c988b83338c5cf2cbe12aabc729b9184bb3e97d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2843,6 +2843,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0253-Improve-death-events.patch b/patches/server/0253-Improve-death-events.patch index 12273b49e5..cb21c9b150 100644 --- a/patches/server/0253-Improve-death-events.patch +++ b/patches/server/0253-Improve-death-events.patch @@ -392,7 +392,7 @@ index 6483ad071c119353267a4f13b192a50931995c2a..7eecbe85949e47b367014c04d7a37c2c this.gameEvent(GameEvent.ENTITY_DIE); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d141e55f92d6c7f211a1a91bd5379144137e7b25..c4dd9c90c12b6c8fc11a2d683ff73fdc02ff5e5c 100644 +index 9c988b83338c5cf2cbe12aabc729b9184bb3e97d..92e64162181b73e5201e1e3e52db9e372c765a75 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2343,7 +2343,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -412,7 +412,7 @@ index d141e55f92d6c7f211a1a91bd5379144137e7b25..c4dd9c90c12b6c8fc11a2d683ff73fdc public void injectScaledMaxHealth(Collection collection, boolean force) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index f423e98fccb7712f7d989ee5780dd5e7b824255f..01ce54dba8c3efcc147b694ba57e070686375f68 100644 +index 5e20a49940e7fdbc470193b44a604829e38fbae6..a1f6b35eec45e99013db02a727159d186150474a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -865,9 +865,16 @@ public class CraftEventFactory { @@ -458,7 +458,7 @@ index f423e98fccb7712f7d989ee5780dd5e7b824255f..01ce54dba8c3efcc147b694ba57e0706 + event.setReviveHealth(event.getEntity().getAttribute(org.bukkit.attribute.Attribute.GENERIC_MAX_HEALTH).getValue()); + event.setShouldPlayDeathSound(!victim.silentDeath && !victim.isSilent()); + net.minecraft.sounds.SoundEvent soundEffect = victim.getDeathSound(); -+ event.setDeathSound(soundEffect != null ? org.bukkit.craftbukkit.CraftSound.getBukkit(soundEffect) : null); ++ event.setDeathSound(soundEffect != null ? org.bukkit.craftbukkit.CraftSound.minecraftToBukkit(soundEffect) : null); + event.setDeathSoundCategory(org.bukkit.SoundCategory.valueOf(victim.getSoundSource().name())); + event.setDeathSoundVolume(victim.getSoundVolume()); + event.setDeathSoundPitch(victim.getVoicePitch()); @@ -471,7 +471,7 @@ index f423e98fccb7712f7d989ee5780dd5e7b824255f..01ce54dba8c3efcc147b694ba57e0706 + double x = event.getEntity().getLocation().getX(); + double y = event.getEntity().getLocation().getY(); + double z = event.getEntity().getLocation().getZ(); -+ net.minecraft.sounds.SoundEvent soundEffect = org.bukkit.craftbukkit.CraftSound.getSoundEffect(event.getDeathSound()); ++ net.minecraft.sounds.SoundEvent soundEffect = org.bukkit.craftbukkit.CraftSound.bukkitToMinecraft(event.getDeathSound()); + net.minecraft.sounds.SoundSource soundCategory = net.minecraft.sounds.SoundSource.valueOf(event.getDeathSoundCategory().name()); + victim.level().playSound(source, x, y, z, soundEffect, soundCategory, event.getDeathSoundVolume(), event.getDeathSoundPitch()); + } diff --git a/patches/server/0255-Mob-Pathfinding-API.patch b/patches/server/0255-Mob-Pathfinding-API.patch index e8e958cebd..ce0cbcfb6d 100644 --- a/patches/server/0255-Mob-Pathfinding-API.patch +++ b/patches/server/0255-Mob-Pathfinding-API.patch @@ -172,7 +172,7 @@ index 539dc45c3c7ffc60cf3fb47ae4df65e604e8627b..eea4c932d909145e7af848cf76e3f49d public Path(List nodes, BlockPos target, boolean reachesTarget) { this.nodes = nodes; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index 659ccb6532506b2a8c9feb55dc5aee962f6da795..f36713771598ac5afdae5d94db10a5790949611d 100644 +index 2000755ac72a25a5d03f238844c458a804f1c033..ce244e96f674f7886179baced3d1e9b67fedfe73 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -15,8 +15,11 @@ import org.bukkit.loot.LootTable; diff --git a/patches/server/0256-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch b/patches/server/0256-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch index 91b9e0e37b..f452ccaa9c 100644 --- a/patches/server/0256-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch +++ b/patches/server/0256-Implement-an-API-for-CanPlaceOn-and-CanDestroy-NBT-v.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement an API for CanPlaceOn and CanDestroy NBT values diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270f4ee8b14 100644 +index 157459f8e9772216229b132f5b9247bcb761072f..abccd9cb31c529142b64783873368fab7b38d312 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -83,6 +83,12 @@ import org.bukkit.persistence.PersistentDataContainer; +@@ -84,6 +84,12 @@ import org.bukkit.persistence.PersistentDataContainer; import static org.spigotmc.ValidateUtils.*; // Spigot end @@ -21,7 +21,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 /** * Children must include the following: * -@@ -271,6 +277,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -272,6 +278,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Specific(Specific.To.NBT) static final ItemMetaKey BLOCK_DATA = new ItemMetaKey("BlockStateTag"); static final ItemMetaKey BUKKIT_CUSTOM_TAG = new ItemMetaKey("PublicBukkitValues"); @@ -32,7 +32,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 // We store the raw original JSON representation of all text data. See SPIGOT-5063, SPIGOT-5656, SPIGOT-5304 private String displayName; -@@ -284,6 +294,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -285,6 +295,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private int hideFlag; private boolean unbreakable; private int damage; @@ -43,7 +43,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 private static final Set HANDLED_TAGS = Sets.newHashSet(); private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); -@@ -321,6 +335,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -322,6 +336,15 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.hideFlag = meta.hideFlag; this.unbreakable = meta.unbreakable; this.damage = meta.damage; @@ -59,7 +59,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 this.unhandledTags.putAll(meta.unhandledTags); this.persistentDataContainer.putAll(meta.persistentDataContainer.getRaw()); -@@ -384,6 +407,31 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -385,6 +408,31 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.persistentDataContainer.put(key, compound.get(key).copy()); } } @@ -91,7 +91,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 Set keys = tag.getAllKeys(); for (String key : keys) { -@@ -522,6 +570,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -523,6 +571,34 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.setDamage(damage); } @@ -126,7 +126,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 String internal = SerializableMeta.getString(map, "internal", true); if (internal != null) { ByteArrayInputStream buf = new ByteArrayInputStream(Base64.getDecoder().decode(internal)); -@@ -650,6 +726,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -651,6 +727,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (this.hasDamage()) { itemTag.putInt(DAMAGE.NBT, damage); } @@ -150,7 +150,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 for (Map.Entry e : this.unhandledTags.entrySet()) { itemTag.put(e.getKey(), e.getValue()); -@@ -666,6 +759,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -667,6 +760,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -172,7 +172,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 ListTag createStringList(List list) { if (list == null) { return null; -@@ -749,7 +857,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -750,7 +858,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { @Overridden boolean isEmpty() { @@ -181,7 +181,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 } // Paper start -@@ -1181,7 +1289,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1182,7 +1290,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { && (this.hideFlag == that.hideFlag) && (this.isUnbreakable() == that.isUnbreakable()) && (this.hasDamage() ? that.hasDamage() && this.damage == that.damage : !that.hasDamage()) @@ -194,7 +194,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 } /** -@@ -1216,6 +1328,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1217,6 +1329,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { hash = 61 * hash + (this.hasDamage() ? this.damage : 0); hash = 61 * hash + (this.hasAttributeModifiers() ? this.attributeModifiers.hashCode() : 0); hash = 61 * hash + this.version; @@ -205,7 +205,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 return hash; } -@@ -1240,6 +1356,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1241,6 +1357,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { clone.unbreakable = this.unbreakable; clone.damage = this.damage; clone.version = this.version; @@ -220,7 +220,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 return clone; } catch (CloneNotSupportedException e) { throw new Error(e); -@@ -1297,6 +1421,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1298,6 +1422,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { builder.put(DAMAGE.BUKKIT, damage); } @@ -244,7 +244,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 final Map internalTags = new HashMap(this.unhandledTags); this.serializeInternal(internalTags); if (!internalTags.isEmpty()) { -@@ -1469,6 +1610,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1470,6 +1611,8 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CraftMetaArmorStand.SHOW_ARMS.NBT, CraftMetaArmorStand.SMALL.NBT, CraftMetaArmorStand.MARKER.NBT, @@ -253,7 +253,7 @@ index 8ada3a7c5539293d4e2c1a5b83e00fc2542f10ff..d7102d83bb781b6cf296cf9c637f8270 // Paper end CraftMetaCompass.LODESTONE_DIMENSION.NBT, CraftMetaCompass.LODESTONE_POS.NBT, -@@ -1498,4 +1641,146 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1499,4 +1642,146 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } // Paper end diff --git a/patches/server/0263-Hook-into-CB-plugin-rewrites.patch b/patches/server/0263-Hook-into-CB-plugin-rewrites.patch index d40c5ed17b..6696802ac7 100644 --- a/patches/server/0263-Hook-into-CB-plugin-rewrites.patch +++ b/patches/server/0263-Hook-into-CB-plugin-rewrites.patch @@ -8,25 +8,26 @@ our own relocation. Also lets us rewrite NMS calls for when we're debugging in an IDE pre-relocate. diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac51245ef6 100644 +index aba415ab7203a21e916eadb923cb02c03b679f65..cfaa85dc3d567bf0110e45fc4e4f24a406b41a45 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -6,7 +6,9 @@ import java.io.FileOutputStream; - import java.io.InputStream; +@@ -7,8 +7,10 @@ import java.io.InputStream; + import java.util.ArrayList; import java.util.Arrays; import java.util.Enumeration; +import java.util.HashMap; import java.util.HashSet; + import java.util.List; +import java.util.Map; import java.util.Set; import java.util.jar.JarEntry; import java.util.jar.JarFile; -@@ -20,10 +22,15 @@ import org.bukkit.plugin.AuthorNagException; +@@ -22,11 +24,15 @@ import org.bukkit.plugin.AuthorNagException; import org.objectweb.asm.ClassReader; import org.objectweb.asm.ClassVisitor; import org.objectweb.asm.ClassWriter; +import org.objectweb.asm.FieldVisitor; -+import org.objectweb.asm.Handle; + import org.objectweb.asm.Handle; +import org.objectweb.asm.Label; import org.objectweb.asm.MethodVisitor; import org.objectweb.asm.Opcodes; @@ -37,7 +38,7 @@ index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac /** * This file is imported from Commodore. * -@@ -46,6 +53,41 @@ public class Commodore +@@ -49,6 +55,41 @@ public class Commodore "org/bukkit/inventory/ItemStack (I)V setTypeId" ) ); @@ -79,7 +80,7 @@ index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac public static void main(String[] args) { OptionParser parser = new OptionParser(); -@@ -130,15 +172,86 @@ public class Commodore +@@ -133,15 +174,72 @@ public class Commodore cr.accept( new ClassVisitor( Opcodes.ASM9, cw ) { @@ -103,20 +104,6 @@ index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac { + // Paper start - Plugin rewrites + @Override -+ public void visitInvokeDynamicInsn(String name, String desc, Handle bootstrapMethodHandle, Object... bootstrapMethodArguments) -+ { -+ // Paper start - Rewrite plugins -+ name = getOriginalOrRewrite( name ); -+ if ( desc != null ) -+ { -+ desc = getOriginalOrRewrite( desc ); -+ } -+ // Paper end -+ -+ super.visitInvokeDynamicInsn( name, desc, bootstrapMethodHandle, bootstrapMethodArguments ); -+ } -+ -+ @Override + public void visitTypeInsn(int opcode, String type) + { + type = getOriginalOrRewrite( type ); @@ -166,7 +153,7 @@ index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac if ( owner.equals( "org/bukkit/block/Biome" ) ) { switch ( name ) -@@ -330,6 +443,11 @@ public class Commodore +@@ -339,6 +437,11 @@ public class Commodore } // Paper start - Rewrite plugins @@ -178,7 +165,7 @@ index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac if ((owner.equals("org/bukkit/OfflinePlayer") || owner.equals("org/bukkit/entity/Player")) && name.equals("getPlayerProfile") && desc.equals("()Lorg/bukkit/profile/PlayerProfile;")) { super.visitMethodInsn(opcode, owner, name, "()Lcom/destroystokyo/paper/profile/PlayerProfile;", itf); return; -@@ -424,6 +542,13 @@ public class Commodore +@@ -433,6 +536,13 @@ public class Commodore @Override public void visitLdcInsn(Object value) { @@ -192,3 +179,17 @@ index 48cdd483c25825571043800f3cfa41a4d723f649..fe5d3b60ad740b7f1cce040f9c8d96ac if ( value instanceof String && ( (String) value ).equals( "com.mysql.jdbc.Driver" ) ) { super.visitLdcInsn( "com.mysql.cj.jdbc.Driver" ); +@@ -445,6 +555,13 @@ public class Commodore + @Override + public void visitInvokeDynamicInsn( String name, String descriptor, Handle bootstrapMethodHandle, Object... bootstrapMethodArguments ) + { ++ // Paper start - Rewrite plugins ++ name = getOriginalOrRewrite( name ); ++ if ( descriptor != null ) ++ { ++ descriptor = getOriginalOrRewrite( descriptor ); ++ } ++ // Paper end - Rewrite plugins + if ( bootstrapMethodHandle.getOwner().equals( "java/lang/invoke/LambdaMetafactory" ) + && bootstrapMethodHandle.getName().equals( "metafactory" ) && bootstrapMethodArguments.length == 3 ) + { diff --git a/patches/server/0265-Add-LivingEntity-getTargetEntity.patch b/patches/server/0265-Add-LivingEntity-getTargetEntity.patch index 05ddea3a69..f3d4f1a43c 100644 --- a/patches/server/0265-Add-LivingEntity-getTargetEntity.patch +++ b/patches/server/0265-Add-LivingEntity-getTargetEntity.patch @@ -56,7 +56,7 @@ index 4fdf034205ea0ff9d6803928672b23c185fd3065..ffed90c0fc1240fc10b4cdd8df837764 public int getShieldBlockingDelay() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 3d9e4ebb29f670d32bfe044ad22daaf82313498d..d5f53ddf1bb24c933bf38efbe142411663ec2470 100644 +index e327cc9f2513ae79a871ac2ab144389b71a88f2a..a3842078a394241a3a9b4c398d13fcdbcb5dbe10 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1,5 +1,6 @@ diff --git a/patches/server/0266-Add-sun-related-API.patch b/patches/server/0266-Add-sun-related-API.patch index 9962323a27..fb9c514239 100644 --- a/patches/server/0266-Add-sun-related-API.patch +++ b/patches/server/0266-Add-sun-related-API.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Add sun related API public net.minecraft.world.entity.Mob isSunBurnTick()Z diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 71e68b9cdafbacc84c317cfb2126d4da472d9f63..08058aced4b27cf86f38b8a205dd3faeea47b007 100644 +index 6e806ede0d94cb3cdb7e772ba56a010ad241590c..238669816f082704b62a7bef8b78058dceef8be2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -692,6 +692,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -25,7 +25,7 @@ index 71e68b9cdafbacc84c317cfb2126d4da472d9f63..08058aced4b27cf86f38b8a205dd3fae public long getGameTime() { return world.levelData.getGameTime(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index f36713771598ac5afdae5d94db10a5790949611d..c92f7f31c3bf96f22fb1d2e783b14b80512448a0 100644 +index ce244e96f674f7886179baced3d1e9b67fedfe73..522b7cb1db22b02279b004916ad2a14447a6bbed 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -93,4 +93,11 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { diff --git a/patches/server/0282-Make-the-default-permission-message-configurable.patch b/patches/server/0282-Make-the-default-permission-message-configurable.patch index 83428ced3e..58965a428b 100644 --- a/patches/server/0282-Make-the-default-permission-message-configurable.patch +++ b/patches/server/0282-Make-the-default-permission-message-configurable.patch @@ -18,10 +18,10 @@ index 0dd48e4098191c8b6e29945d62bc473e9f3a1e77..ae51993e0de706cb62c96795ca9de766 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 145476b25f7d7d60c7bc4891e71484c74011cac2..4acb515c423a55c9bb7ba87504cb5a04c58d2bf8 100644 +index c5a59f5f94ded049d39b1e1ffac1a71f4c5b9535..5fe9750472edaa5684ded6beb6acce3156bbc2b2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2708,6 +2708,16 @@ public final class CraftServer implements Server { +@@ -2707,6 +2707,16 @@ public final class CraftServer implements Server { return io.papermc.paper.configuration.GlobalConfiguration.get().commands.suggestPlayerNamesWhenNullTabCompletions; } diff --git a/patches/server/0290-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch b/patches/server/0290-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch index 934c99f332..4577ba7887 100644 --- a/patches/server/0290-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch +++ b/patches/server/0290-Add-APIs-to-replace-OfflinePlayer-getLastPlayed.patch @@ -40,7 +40,7 @@ index 98c4a1b8542486f5af1274f974b898a69f2684f1..45bfb32505dfd2a66d8a6ee4627ec293 GameProfileCache usercache = this.server.getProfileCache(); String s; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index aac78c13361b19efa7b43a0c95458390f1ba8340..f572a74b85df36a6da76b78ec29d807273867537 100644 +index c1ef6c8c8e5f030e18b6066a509350ee1e195987..779b6bac307e252fe614cfce958d2eeed94c5f77 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java @@ -261,6 +261,61 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa @@ -106,7 +106,7 @@ index aac78c13361b19efa7b43a0c95458390f1ba8340..f572a74b85df36a6da76b78ec29d8072 public Location getLastDeathLocation() { if (this.getData().contains("LastDeathLocation", 10)) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c4dd9c90c12b6c8fc11a2d683ff73fdc02ff5e5c..14d8c5636b6a1fe0c18086a98469ba30f1325b6a 100644 +index 92e64162181b73e5201e1e3e52db9e372c765a75..d939e5385d250095674c1f0c6f4209cdf87ad7cb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -195,6 +195,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0292-Block-Entity-remove-from-being-called-on-Players.patch b/patches/server/0292-Block-Entity-remove-from-being-called-on-Players.patch index 121eb4c612..62d94b6565 100644 --- a/patches/server/0292-Block-Entity-remove-from-being-called-on-Players.patch +++ b/patches/server/0292-Block-Entity-remove-from-being-called-on-Players.patch @@ -12,7 +12,7 @@ Player we will look at limiting the scope of this change. It appears to be unintentional in the few cases we've seen so far. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 14d8c5636b6a1fe0c18086a98469ba30f1325b6a..6ef5547264dcd557a4dcdb5392b9fd5ef22d143d 100644 +index d939e5385d250095674c1f0c6f4209cdf87ad7cb..94cb3513aeef549da3626ff18c1ea0662252ecb9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2890,6 +2890,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0299-Entity-getEntitySpawnReason.patch b/patches/server/0299-Entity-getEntitySpawnReason.patch index b72984e849..dc83a79c5b 100644 --- a/patches/server/0299-Entity-getEntitySpawnReason.patch +++ b/patches/server/0299-Entity-getEntitySpawnReason.patch @@ -120,10 +120,10 @@ index a9be524edb03c51300bc45d424fcf87c7491a8c0..a08c2dee792da1a54005f0a65a9eefab // CraftBukkit start if (org.bukkit.craftbukkit.event.CraftEventFactory.callSpawnerSpawnEvent(entity, pos).isCancelled()) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 0fd9119c710afdd46a60d81ae3f9ce5da88d2541..c7cd18de51c5e7c9d194ba65902084194d4408ec 100644 +index e3ed6a4315f8e0411144a5e585f9f49114cdf1b6..fa2cf604910977c0275f7731286618fe3c355a36 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1307,5 +1307,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1306,5 +1306,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean fromMobSpawner() { return getHandle().spawnedViaMobSpawner; } diff --git a/patches/server/0303-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch b/patches/server/0303-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch index 29a3edd78d..aaeef4e981 100644 --- a/patches/server/0303-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch +++ b/patches/server/0303-don-t-go-below-0-for-pickupDelay-breaks-picking-up-i.patch @@ -6,7 +6,7 @@ Subject: [PATCH] don't go below 0 for pickupDelay, breaks picking up items vanilla checks for == 0 diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 91eba1c571764c88489ea2598fb9b4736554d5cc..fda34d93a5b75919c840d3bc0efa0651e5eb4843 100644 +index 5744d726c4e7a970db5c1c3764d530d839d95597..2edc55f09b79ac75788a0ded8b3d2a6800674470 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -122,6 +122,7 @@ public class ItemEntity extends Entity implements TraceableEntity { diff --git a/patches/server/0307-Add-Heightmap-API.patch b/patches/server/0307-Add-Heightmap-API.patch index 42b59f7fd6..8767b51828 100644 --- a/patches/server/0307-Add-Heightmap-API.patch +++ b/patches/server/0307-Add-Heightmap-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Heightmap API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 08058aced4b27cf86f38b8a205dd3faeea47b007..4776242cb73213686d3e020ef36fea77ef905598 100644 +index 238669816f082704b62a7bef8b78058dceef8be2..3ff94314e2dcfab964d230684ff218c634b75499 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -219,6 +219,29 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0308-Mob-Spawner-API-Enhancements.patch b/patches/server/0308-Mob-Spawner-API-Enhancements.patch index 7d927ec0a8..bbb2fa9463 100644 --- a/patches/server/0308-Mob-Spawner-API-Enhancements.patch +++ b/patches/server/0308-Mob-Spawner-API-Enhancements.patch @@ -69,10 +69,10 @@ index a08c2dee792da1a54005f0a65a9eefabc7bc7c60..369298dfd437c1c83801f3d4ba63484e nbt.putShort("MaxNearbyEntities", (short) this.maxNearbyEntities); nbt.putShort("RequiredPlayerRange", (short) this.requiredPlayerRange); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java b/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java -index f733df6d082561bf80a3fcfaaab1731985213324..e2d0937f8609c1f65eff94a1cdae8c80b6347cc3 100644 +index 46d41520a5d429e7466e5a24ffb737a0e844921a..e34637160a8364ffe13be4fd9a85feb7afbb5f77 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftCreatureSpawner.java -@@ -134,4 +134,28 @@ public class CraftCreatureSpawner extends CraftBlockEntityState diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index cecd7bd4a6dd66cfb2d632a232ff469e5fdcba44..5d742d072d2cc532ce86bff3de15a5f0f381d1c5 100644 +index 9b9d491c7c41590c93d606414902329b6636419f..a7eccb2f364ed633cb6d4914491eb686ff02e647 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -54,6 +54,7 @@ public class ItemEntity extends Entity implements TraceableEntity { @@ -44,15 +44,15 @@ index cecd7bd4a6dd66cfb2d632a232ff469e5fdcba44..5d742d072d2cc532ce86bff3de15a5f0 } private void tryToMerge(ItemEntity other) { -@@ -513,6 +514,7 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -512,6 +513,7 @@ public class ItemEntity extends Entity implements TraceableEntity { + public void setItem(ItemStack stack) { - com.google.common.base.Preconditions.checkArgument(!stack.isEmpty(), "Cannot drop air"); // CraftBukkit this.getEntityData().set(ItemEntity.DATA_ITEM, stack); + this.despawnRate = this.level().paperConfig().entities.spawning.altItemDespawnRate.enabled ? this.level().paperConfig().entities.spawning.altItemDespawnRate.items.getOrDefault(stack.getItem(), this.level().spigotConfig.itemDespawnRate) : this.level().spigotConfig.itemDespawnRate; // Paper } @Override -@@ -566,7 +568,7 @@ public class ItemEntity extends Entity implements TraceableEntity { +@@ -565,7 +567,7 @@ public class ItemEntity extends Entity implements TraceableEntity { public void makeFakeItem() { this.setNeverPickUp(); diff --git a/patches/server/0343-Improve-Block-breakNaturally-API.patch b/patches/server/0343-Improve-Block-breakNaturally-API.patch index 4de6b7c5eb..1f5f088a1c 100644 --- a/patches/server/0343-Improve-Block-breakNaturally-API.patch +++ b/patches/server/0343-Improve-Block-breakNaturally-API.patch @@ -34,10 +34,10 @@ index 6f9cb55491da718cd6564425748ab3852fda9b68..5fbdc96f29e29dfc092b9e84a988032d if (world.dimensionType().ultraWarm()) { world.removeBlock(pos, false); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 93bf6b8e30e5e28fa9261b8b927081d85547e400..5534348ddb3ac42b6b8a687816c2c8c1858e3b3e 100644 +index ce8f3d66b0f64531e818823761fd1823da4f01d5..e172d05e9e2b8d7844ecff286430f94c1b2fd7db 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -477,6 +477,18 @@ public class CraftBlock implements Block { +@@ -451,6 +451,18 @@ public class CraftBlock implements Block { @Override public boolean breakNaturally(ItemStack item) { @@ -56,7 +56,7 @@ index 93bf6b8e30e5e28fa9261b8b927081d85547e400..5534348ddb3ac42b6b8a687816c2c8c1 // Order matters here, need to drop before setting to air so skulls can get their data net.minecraft.world.level.block.state.BlockState iblockdata = this.getNMS(); net.minecraft.world.level.block.Block block = iblockdata.getBlock(); -@@ -486,11 +498,35 @@ public class CraftBlock implements Block { +@@ -460,11 +472,35 @@ public class CraftBlock implements Block { // Modelled off EntityHuman#hasBlock if (block != Blocks.AIR && (item == null || !iblockdata.requiresCorrectToolForDrops() || nmsItem.isCorrectToolForDrops(iblockdata))) { net.minecraft.world.level.block.Block.dropResources(iblockdata, this.world.getMinecraftWorld(), position, this.world.getBlockEntity(position), null, nmsItem); diff --git a/patches/server/0348-Entity-Jump-API.patch b/patches/server/0348-Entity-Jump-API.patch index 7e52fa865a..5f414603d2 100644 --- a/patches/server/0348-Entity-Jump-API.patch +++ b/patches/server/0348-Entity-Jump-API.patch @@ -48,7 +48,7 @@ index 344e933311f5cdccb66069d486b111a003639dfe..add3cd866452df727107e94fb2039bdd } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index d5f53ddf1bb24c933bf38efbe142411663ec2470..607e48cf2eb50f477bcacca636cacf27f01342ef 100644 +index a3842078a394241a3a9b4c398d13fcdbcb5dbe10..9ba85d099d0e6893dc3489ce0753119348e937b3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -906,5 +906,19 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0351-add-hand-to-BlockMultiPlaceEvent.patch b/patches/server/0351-add-hand-to-BlockMultiPlaceEvent.patch index 8e0a42cc57..09a7646a95 100644 --- a/patches/server/0351-add-hand-to-BlockMultiPlaceEvent.patch +++ b/patches/server/0351-add-hand-to-BlockMultiPlaceEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] add hand to BlockMultiPlaceEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 01ce54dba8c3efcc147b694ba57e070686375f68..ceca2bccb4c36713cf15fb1d7cab0cbd3f31aff5 100644 +index a1f6b35eec45e99013db02a727159d186150474a..accf3399f813ad062a3dba6eba99c16afe66045a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -401,13 +401,18 @@ public class CraftEventFactory { diff --git a/patches/server/0357-Add-tick-times-API-and-mspt-command.patch b/patches/server/0357-Add-tick-times-API-and-mspt-command.patch index 9f51624fda..ab2086b3d8 100644 --- a/patches/server/0357-Add-tick-times-API-and-mspt-command.patch +++ b/patches/server/0357-Add-tick-times-API-and-mspt-command.patch @@ -184,10 +184,10 @@ index 4d3cd4a5dbf7adb482e60dc88ededdaccf558061..951e283d38cb7601049ac6f24385acde + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index fcb0f9cf49495ffbfd9acd25cd3049ca63fb33b9..93de9add395f36e3c1ba645434c858ae5e38e867 100644 +index fc1dcd6aae389d89ab2c0233448ea64b50c065a9..6e986a657af35ce6175c30abd7c68e3e3a878b83 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2533,6 +2533,16 @@ public final class CraftServer implements Server { +@@ -2532,6 +2532,16 @@ public final class CraftServer implements Server { net.minecraft.server.MinecraftServer.getServer().tps15.getAverage() }; } diff --git a/patches/server/0358-Expose-MinecraftServer-isRunning.patch b/patches/server/0358-Expose-MinecraftServer-isRunning.patch index 1ea1387f8d..fb8eae4b49 100644 --- a/patches/server/0358-Expose-MinecraftServer-isRunning.patch +++ b/patches/server/0358-Expose-MinecraftServer-isRunning.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Expose MinecraftServer#isRunning This allows for plugins to detect if the server is actually turning off in onDisable rather than just plugins reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 93de9add395f36e3c1ba645434c858ae5e38e867..81e8ff4c3901bb16ddfb09bda1237308b5c469e4 100644 +index 6e986a657af35ce6175c30abd7c68e3e3a878b83..79839c8e98e0489391579960b08aef055da931e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2764,5 +2764,10 @@ public final class CraftServer implements Server { +@@ -2763,5 +2763,10 @@ public final class CraftServer implements Server { public int getCurrentTick() { return net.minecraft.server.MinecraftServer.currentTick; } diff --git a/patches/server/0359-Add-Raw-Byte-ItemStack-Serialization.patch b/patches/server/0359-Add-Raw-Byte-ItemStack-Serialization.patch index 178fa3a98c..a14a6ac426 100644 --- a/patches/server/0359-Add-Raw-Byte-ItemStack-Serialization.patch +++ b/patches/server/0359-Add-Raw-Byte-ItemStack-Serialization.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Raw Byte ItemStack Serialization Serializes using NBT which is safer for server data migrations than bukkits format. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 6f2b9d0d2cc8b18d74b59bf77fec394d14211a24..3544ffd3af1e71cfd6fb198b4fa45da3167cd62d 100644 +index e7d5006fcf55c5a7ba1cea0dab0edd2bf410247c..46af63d8a36621f48a7610b5c3d55ae71639bcf5 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -467,6 +467,52 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -448,6 +448,52 @@ public final class CraftMagicNumbers implements UnsafeValues { public com.destroystokyo.paper.util.VersionFetcher getVersionFetcher() { return new com.destroystokyo.paper.PaperVersionFetcher(); } diff --git a/patches/server/0375-Implement-Player-Client-Options-API.patch b/patches/server/0375-Implement-Player-Client-Options-API.patch index c802d5b829..2a6f5b32ff 100644 --- a/patches/server/0375-Implement-Player-Client-Options-API.patch +++ b/patches/server/0375-Implement-Player-Client-Options-API.patch @@ -115,7 +115,7 @@ index 1ff911085da7d1a2a378c60c66f8e5364b9774b4..c13f088a74448f80e111bdeeb712087a if (getMainArm() != clientOptions.mainHand()) { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6ef5547264dcd557a4dcdb5392b9fd5ef22d143d..f81ebf2e29bab66904644e106cdb2d1ca812a212 100644 +index 94cb3513aeef549da3626ff18c1ea0662252ecb9..f4a15de92c3af88624f337c36fadbea67d339064 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -604,6 +604,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0382-Fix-numerous-item-duplication-issues-and-teleport-is.patch b/patches/server/0382-Fix-numerous-item-duplication-issues-and-teleport-is.patch index 0db5713461..afc62f6ab7 100644 --- a/patches/server/0382-Fix-numerous-item-duplication-issues-and-teleport-is.patch +++ b/patches/server/0382-Fix-numerous-item-duplication-issues-and-teleport-is.patch @@ -135,7 +135,7 @@ index 7eecbe85949e47b367014c04d7a37c2cbea80168..3d2d638da2d4b9c00f98477320b3300f } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index ceca2bccb4c36713cf15fb1d7cab0cbd3f31aff5..0b45481cdbbfbe4e1756e19e696e1c11d8fccd00 100644 +index accf3399f813ad062a3dba6eba99c16afe66045a..1a2f03895f348e4c2620caef74f12cb1f41dec1b 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -868,6 +868,11 @@ public class CraftEventFactory { diff --git a/patches/server/0383-Villager-Restocks-API.patch b/patches/server/0383-Villager-Restocks-API.patch index 87278ca4a8..b263d39f2a 100644 --- a/patches/server/0383-Villager-Restocks-API.patch +++ b/patches/server/0383-Villager-Restocks-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Villager Restocks API public net.minecraft.world.entity.npc.Villager numberOfRestocksToday diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index 0f12be424a9868c7c34174f92b503cd63399df19..6160f2c2886569b4400080d11beca399ef002ea0 100644 +index 6ee10f8a30041355a1fb0b805c7c61b7ac4ad5af..fb9f1fa2f66dbeb1ffea2679d6efe47ed616f0ab 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -85,6 +85,18 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { +@@ -87,6 +87,18 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { this.getHandle().setVillagerXp(experience); } diff --git a/patches/server/0385-Expose-game-version.patch b/patches/server/0385-Expose-game-version.patch index 5765fe7db9..7cd7a4ea60 100644 --- a/patches/server/0385-Expose-game-version.patch +++ b/patches/server/0385-Expose-game-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose game version diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 81e8ff4c3901bb16ddfb09bda1237308b5c469e4..e843466c691b348b24826a9acbefa06c9098a28b 100644 +index 79839c8e98e0489391579960b08aef055da931e4..eb74938bd7429e19d675557626fe8fe3f1f691a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -585,6 +585,13 @@ public final class CraftServer implements Server { +@@ -584,6 +584,13 @@ public final class CraftServer implements Server { return this.bukkitVersion; } diff --git a/patches/server/0388-misc-debugging-dumps.patch b/patches/server/0388-misc-debugging-dumps.patch index 779481523b..59ca3ab1b4 100644 --- a/patches/server/0388-misc-debugging-dumps.patch +++ b/patches/server/0388-misc-debugging-dumps.patch @@ -74,10 +74,10 @@ index ed80d9551cd7cc1ec26a5d5fd7bc185b38fddd78..77e19f345bf68d12686a65e669cd597c this.connection.disconnect(ServerConfigurationPacketListenerImpl.DISCONNECT_REASON_INVALID_DATA); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index e843466c691b348b24826a9acbefa06c9098a28b..d58ecb5bbfe0c64a88da1b7705d6482d2722da18 100644 +index eb74938bd7429e19d675557626fe8fe3f1f691a3..e0adcbfb44284602c60bd140b5232a6e1c3b9c8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1009,6 +1009,7 @@ public final class CraftServer implements Server { +@@ -1008,6 +1008,7 @@ public final class CraftServer implements Server { plugin.getDescription().getFullName(), "This plugin is not properly shutting down its async tasks when it is being reloaded. This may cause conflicts with the newly loaded version of the plugin" )); diff --git a/patches/server/0391-Implement-Mob-Goal-API.patch b/patches/server/0391-Implement-Mob-Goal-API.patch index bc48cef1c0..487546a6c6 100644 --- a/patches/server/0391-Implement-Mob-Goal-API.patch +++ b/patches/server/0391-Implement-Mob-Goal-API.patch @@ -792,10 +792,10 @@ index 4379b9948f1eecfe6fd7dea98e298ad5f761019a..3f081183521603824430709886a9cc31 LOOK, JUMP, diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d58ecb5bbfe0c64a88da1b7705d6482d2722da18..dd0b8f158718af34275589d772c64d94dfcb911d 100644 +index e0adcbfb44284602c60bd140b5232a6e1c3b9c8f..f9672add712045eb53d46ff849ba9caf72149a02 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2777,5 +2777,11 @@ public final class CraftServer implements Server { +@@ -2776,5 +2776,11 @@ public final class CraftServer implements Server { public boolean isStopping() { return net.minecraft.server.MinecraftServer.getServer().hasStopped(); } diff --git a/patches/server/0392-Add-villager-reputation-API.patch b/patches/server/0392-Add-villager-reputation-API.patch index 570f87c373..a0dafd0a25 100644 --- a/patches/server/0392-Add-villager-reputation-API.patch +++ b/patches/server/0392-Add-villager-reputation-API.patch @@ -57,10 +57,10 @@ index a28f359202e6502c6ea5e9c918ec0b3e9a3fca61..76dffb2705e5207db96895f82f1c7c56 static record GossipEntry(UUID target, GossipType type, int value) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index 6160f2c2886569b4400080d11beca399ef002ea0..b27b9001b8eb74c713e6766f0919110432775a2e 100644 +index fb9f1fa2f66dbeb1ffea2679d6efe47ed616f0ab..5e779b7f1ba40e418d24c9d37506420c83bfb3fe 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -16,6 +16,13 @@ import org.bukkit.entity.Villager; +@@ -18,6 +18,13 @@ import org.bukkit.entity.Villager; import org.bukkit.entity.ZombieVillager; import org.bukkit.event.entity.CreatureSpawnEvent; @@ -74,9 +74,9 @@ index 6160f2c2886569b4400080d11beca399ef002ea0..b27b9001b8eb74c713e6766f09191104 public class CraftVillager extends CraftAbstractVillager implements Villager { public CraftVillager(CraftServer server, net.minecraft.world.entity.npc.Villager entity) { -@@ -140,4 +147,45 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { - public static VillagerProfession bukkitToNmsProfession(Profession bukkit) { - return BuiltInRegistries.VILLAGER_PROFESSION.get(CraftNamespacedKey.toMinecraft(bukkit.getKey())); +@@ -176,4 +183,45 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { + .getOptional(CraftNamespacedKey.toMinecraft(bukkit.getKey())).orElseThrow(); + } } + + // Paper start - Add villager reputation API diff --git a/patches/server/0393-Option-for-maximum-exp-value-when-merging-orbs.patch b/patches/server/0393-Option-for-maximum-exp-value-when-merging-orbs.patch index b4e0f5df2b..7bebe79b88 100644 --- a/patches/server/0393-Option-for-maximum-exp-value-when-merging-orbs.patch +++ b/patches/server/0393-Option-for-maximum-exp-value-when-merging-orbs.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Option for maximum exp value when merging orbs diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 0b45481cdbbfbe4e1756e19e696e1c11d8fccd00..b71024ebd675f4afd7ad2aa96393532758a28b63 100644 +index 1a2f03895f348e4c2620caef74f12cb1f41dec1b..463bd6c1327c2122b8c127a38399d80bf68ebdc0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -688,16 +688,30 @@ public class CraftEventFactory { diff --git a/patches/server/0394-ExperienceOrbMergeEvent.patch b/patches/server/0394-ExperienceOrbMergeEvent.patch index c34bb892ed..7f2db94033 100644 --- a/patches/server/0394-ExperienceOrbMergeEvent.patch +++ b/patches/server/0394-ExperienceOrbMergeEvent.patch @@ -9,7 +9,7 @@ Plugins can cancel this if they want to ensure experience orbs do not lose impor metadata such as spawn reason, or conditionally move data from source to target. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index b71024ebd675f4afd7ad2aa96393532758a28b63..7aba049b426a25981376205410acf41327993d30 100644 +index 463bd6c1327c2122b8c127a38399d80bf68ebdc0..5954367915f2f68383d892d6927c9bfa1b739b77 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -698,7 +698,7 @@ public class CraftEventFactory { diff --git a/patches/server/0395-Fix-PotionEffect-ignores-icon-flag.patch b/patches/server/0395-Fix-PotionEffect-ignores-icon-flag.patch index 569588e8d2..6dfeda8139 100644 --- a/patches/server/0395-Fix-PotionEffect-ignores-icon-flag.patch +++ b/patches/server/0395-Fix-PotionEffect-ignores-icon-flag.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix PotionEffect ignores icon flag diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 607e48cf2eb50f477bcacca636cacf27f01342ef..02b7780a05f0119c2d1e9d379321105822629793 100644 +index 9ba85d099d0e6893dc3489ce0753119348e937b3..71a2ac37046adb3826bc2e76b4ac385c7e331f5e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -443,7 +443,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0398-Wait-for-Async-Tasks-during-shutdown.patch b/patches/server/0398-Wait-for-Async-Tasks-during-shutdown.patch index 728257ad50..f033ff0e3f 100644 --- a/patches/server/0398-Wait-for-Async-Tasks-during-shutdown.patch +++ b/patches/server/0398-Wait-for-Async-Tasks-during-shutdown.patch @@ -22,10 +22,10 @@ index a107751a13ccef2729068e9b9822509374d20187..e2b4e7fb68aeaa2a95f3d1dfdd045217 // CraftBukkit end this.getConnection().stop(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index dd0b8f158718af34275589d772c64d94dfcb911d..126552d1d27028f1872e9355c25a8a27ce199c73 100644 +index f9672add712045eb53d46ff849ba9caf72149a02..858bad98e46a0eec5e9b2b34acf956728b2a0f6d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1019,6 +1019,31 @@ public final class CraftServer implements Server { +@@ -1018,6 +1018,31 @@ public final class CraftServer implements Server { org.spigotmc.WatchdogThread.hasStarted = true; // Paper - Disable watchdog early timeout on reload } diff --git a/patches/server/0417-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0417-Fix-Per-World-Difficulty-Remembering-Difficulty.patch index b647df5868..6856f7d5aa 100644 --- a/patches/server/0417-Fix-Per-World-Difficulty-Remembering-Difficulty.patch +++ b/patches/server/0417-Fix-Per-World-Difficulty-Remembering-Difficulty.patch @@ -102,10 +102,10 @@ index b664a4ae7b10ce3ea83186a6112c0db0cbd6112a..c3844274b185decd92d021e7c7343adb } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 126552d1d27028f1872e9355c25a8a27ce199c73..f212b3b42fa6086c8d6b60e246591d9dcd7cb6bf 100644 +index 858bad98e46a0eec5e9b2b34acf956728b2a0f6d..882801984304b8570669bc0ff9388fbfc3846dcf 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -958,8 +958,8 @@ public final class CraftServer implements Server { +@@ -957,8 +957,8 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); for (ServerLevel world : this.console.getAllLevels()) { @@ -117,7 +117,7 @@ index 126552d1d27028f1872e9355c25a8a27ce199c73..f212b3b42fa6086c8d6b60e246591d9d for (SpawnCategory spawnCategory : SpawnCategory.values()) { if (CraftSpawnCategory.isValidForLimits(spawnCategory)) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index f5e54c4adc9466ba23a665cc8d14b2ce4efd00d5..872a0352008c6889f13b01f6a21e1a1da31f291e 100644 +index 0a9cf69ce0983f167ce63dc58eace455561da8e7..40a3a1e0bfb8c274b8de56d1ac3edca6c170296c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1145,7 +1145,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0421-Add-Plugin-Tickets-to-API-Chunk-Methods.patch b/patches/server/0421-Add-Plugin-Tickets-to-API-Chunk-Methods.patch index 28c24c3f4f..c84336bf37 100644 --- a/patches/server/0421-Add-Plugin-Tickets-to-API-Chunk-Methods.patch +++ b/patches/server/0421-Add-Plugin-Tickets-to-API-Chunk-Methods.patch @@ -22,10 +22,10 @@ wants it to collect even faster, they can restore that setting back to 1 instead Not adding it to .getType() though to keep behavior consistent with vanilla for performance reasons. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f212b3b42fa6086c8d6b60e246591d9dcd7cb6bf..ca77f684288a26ee81e0f8bf5fa649290c48d147 100644 +index 882801984304b8570669bc0ff9388fbfc3846dcf..aa8b58a51792b1e4e6d18e13f06f697e3e2ebe72 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -385,7 +385,7 @@ public final class CraftServer implements Server { +@@ -384,7 +384,7 @@ public final class CraftServer implements Server { this.overrideSpawnLimits(); console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); @@ -34,7 +34,7 @@ index f212b3b42fa6086c8d6b60e246591d9dcd7cb6bf..ca77f684288a26ee81e0f8bf5fa64929 this.minimumAPI = this.configuration.getString("settings.minimum-api"); this.loadIcon(); -@@ -938,7 +938,7 @@ public final class CraftServer implements Server { +@@ -937,7 +937,7 @@ public final class CraftServer implements Server { this.console.setMotd(config.motd); this.overrideSpawnLimits(); this.warningState = WarningState.value(this.configuration.getString("settings.deprecated-verbose")); @@ -44,7 +44,7 @@ index f212b3b42fa6086c8d6b60e246591d9dcd7cb6bf..ca77f684288a26ee81e0f8bf5fa64929 this.printSaveWarning = false; console.autosavePeriod = this.configuration.getInt("ticks-per.autosave"); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 872a0352008c6889f13b01f6a21e1a1da31f291e..53213501b5e818cdee4103c446ca9987f7e71d6d 100644 +index 40a3a1e0bfb8c274b8de56d1ac3edca6c170296c..53d4f1687527f383841ecc35ffc16d8bf8eefb78 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -279,7 +279,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0424-Convert-legacy-attributes-in-Item-Meta.patch b/patches/server/0424-Convert-legacy-attributes-in-Item-Meta.patch index fbc3090505..00e8b2c465 100644 --- a/patches/server/0424-Convert-legacy-attributes-in-Item-Meta.patch +++ b/patches/server/0424-Convert-legacy-attributes-in-Item-Meta.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Convert legacy attributes in Item Meta diff --git a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java -index fac4097be2ee3d0bffbc92fb217f98831e78d6b3..233e372ba5d785352c9ac12dac37395bac63315c 100644 +index d4dba8c733c7560e5108b8d239b52e593f8debec..ea48f1119a940056c37d1d203437bfbfdf13663b 100644 --- a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java +++ b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java -@@ -12,6 +12,20 @@ import org.bukkit.craftbukkit.util.CraftNamespacedKey; +@@ -9,6 +9,20 @@ import org.bukkit.attribute.AttributeInstance; public class CraftAttributeMap implements Attributable { private final AttributeMap handle; @@ -30,10 +30,10 @@ index fac4097be2ee3d0bffbc92fb217f98831e78d6b3..233e372ba5d785352c9ac12dac37395b public CraftAttributeMap(AttributeMap handle) { this.handle = handle; diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index d7102d83bb781b6cf296cf9c637f8270f4ee8b14..d1f21b5f5600dba41a93378853aadacd24f4a1f3 100644 +index abccd9cb31c529142b64783873368fab7b38d312..224b7336b2b80c6810b45fe78c8d8ce581a53b4e 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -483,7 +483,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -484,7 +484,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { AttributeModifier attribMod = CraftAttributeInstance.convert(nmsModifier); diff --git a/patches/server/0427-Support-components-in-ItemMeta.patch b/patches/server/0427-Support-components-in-ItemMeta.patch index d08ab5c3a5..2bc9b2294c 100644 --- a/patches/server/0427-Support-components-in-ItemMeta.patch +++ b/patches/server/0427-Support-components-in-ItemMeta.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Support components in ItemMeta diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index d1f21b5f5600dba41a93378853aadacd24f4a1f3..b34f364f8580ae900e25ef3f31f58f4e8fee88e0 100644 +index 224b7336b2b80c6810b45fe78c8d8ce581a53b4e..76b4c43343fd3ee13662ac7cd6e0e5ae4df0d615 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -877,11 +877,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -878,11 +878,23 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return CraftChatMessage.fromJSONComponent(displayName); } @@ -32,7 +32,7 @@ index d1f21b5f5600dba41a93378853aadacd24f4a1f3..b34f364f8580ae900e25ef3f31f58f4e @Override public boolean hasDisplayName() { return this.displayName != null; -@@ -1024,6 +1036,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1025,6 +1037,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { return this.lore == null ? null : new ArrayList(Lists.transform(this.lore, CraftChatMessage::fromJSONComponent)); } @@ -47,7 +47,7 @@ index d1f21b5f5600dba41a93378853aadacd24f4a1f3..b34f364f8580ae900e25ef3f31f58f4e @Override public void setLore(List lore) { if (lore == null || lore.isEmpty()) { -@@ -1038,6 +1058,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1039,6 +1059,21 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } } @@ -69,7 +69,7 @@ index d1f21b5f5600dba41a93378853aadacd24f4a1f3..b34f364f8580ae900e25ef3f31f58f4e @Override public boolean hasCustomModelData() { return this.customModelData != null; -@@ -1506,6 +1541,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1507,6 +1542,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { } for (Object object : addFrom) { diff --git a/patches/server/0429-Add-entity-liquid-API.patch b/patches/server/0429-Add-entity-liquid-API.patch index 0118139b4d..137f3148f2 100644 --- a/patches/server/0429-Add-entity-liquid-API.patch +++ b/patches/server/0429-Add-entity-liquid-API.patch @@ -8,10 +8,10 @@ public net.minecraft.world.entity.Entity isInRain()Z public net.minecraft.world.entity.Entity isInBubbleColumn()Z diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index c7cd18de51c5e7c9d194ba65902084194d4408ec..91d199250d856baa869258282bb04ed5897b14e9 100644 +index fa2cf604910977c0275f7731286618fe3c355a36..11d2fb9984f5d0cf91c8b3ae1153f0fcbb817a59 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1312,5 +1312,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1311,5 +1311,40 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public org.bukkit.event.entity.CreatureSpawnEvent.SpawnReason getEntitySpawnReason() { return getHandle().spawnReason; } diff --git a/patches/server/0432-Add-PrepareResultEvent.patch b/patches/server/0432-Add-PrepareResultEvent.patch index c1323ff095..7d404fbc9a 100644 --- a/patches/server/0432-Add-PrepareResultEvent.patch +++ b/patches/server/0432-Add-PrepareResultEvent.patch @@ -94,10 +94,10 @@ index 9c2fe69ced7a46bbd8b0fbe10fa67d0a39b0f375..70ecc3f673ebd56b65ad901e10f40c28 private void setupRecipeList(Container input, ItemStack stack) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 7aba049b426a25981376205410acf41327993d30..6018dc7aa4eaac45c1eee121925f4a22625b0e55 100644 +index 5954367915f2f68383d892d6927c9bfa1b739b77..e614b847543df4581dbbc79e3ffb69aa7c55e9cc 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1669,26 +1669,53 @@ public class CraftEventFactory { +@@ -1671,26 +1671,53 @@ public class CraftEventFactory { return event; } diff --git a/patches/server/0443-Brand-support.patch b/patches/server/0443-Brand-support.patch index a14c9447df..9391d71b8f 100644 --- a/patches/server/0443-Brand-support.patch +++ b/patches/server/0443-Brand-support.patch @@ -48,7 +48,7 @@ index d1808bf9dc19fad84da5eb3b4c3d549bc624b00a..cce6febce229abdad859f183716cdefb return (!this.player.joining && !this.connection.isConnected()) || this.processedDisconnect; // Paper } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f81ebf2e29bab66904644e106cdb2d1ca812a212..8a74046fd65f1bfa7ff22a0019fd8cdf989c7a00 100644 +index f4a15de92c3af88624f337c36fadbea67d339064..28c80b15f83947cf44f71da9f9d971f2d6e5dd5b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3007,6 +3007,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0444-Add-playPickupItemAnimation-to-LivingEntity.patch b/patches/server/0444-Add-playPickupItemAnimation-to-LivingEntity.patch index 1b6b0d9a7f..2518586ba3 100644 --- a/patches/server/0444-Add-playPickupItemAnimation-to-LivingEntity.patch +++ b/patches/server/0444-Add-playPickupItemAnimation-to-LivingEntity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add playPickupItemAnimation to LivingEntity diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 02b7780a05f0119c2d1e9d379321105822629793..a0da8d022b9ab9c7b6ac6a32022739e863c2c9a0 100644 +index 71a2ac37046adb3826bc2e76b4ac385c7e331f5e..8ed8bd2c539af20aa97bff1c0f719c4c2f793fc5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -920,5 +920,10 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0446-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch b/patches/server/0446-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch index d802fd7dba..05ea1c1cfd 100644 --- a/patches/server/0446-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch +++ b/patches/server/0446-Fix-SpawnChangeEvent-not-firing-for-all-use-cases.patch @@ -21,7 +21,7 @@ index 6bb89597035894f9aedc52469a38f87f2be91893..2e2c85e58d311bff6fb65d7757987e42 // if this keepSpawnInMemory is false a plugin has already removed our tickets, do not re-add this.removeTicketsForSpawn(this.paperConfig().spawn.keepSpawnLoadedRange * 16, prevSpawn); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 53213501b5e818cdee4103c446ca9987f7e71d6d..874598a1ae8b9adc3e746c01565986c11d12ca45 100644 +index 53d4f1687527f383841ecc35ffc16d8bf8eefb78..0f448e2652eb1d334bf9b8d6343e680365cc9e0b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -259,12 +259,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0447-Add-moon-phase-API.patch b/patches/server/0447-Add-moon-phase-API.patch index afc9659d98..df66928ff7 100644 --- a/patches/server/0447-Add-moon-phase-API.patch +++ b/patches/server/0447-Add-moon-phase-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add moon phase API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 91fbc67eefea473211b99e4338f6464f58dc5592..b5981001d8ad4d6c79b965be9a446352971b0d29 100644 +index 75d4c33768a8ab15a94bcb71b2aa724cad1ce0aa..93f44ca0c8388935baaa41f9b0ebb6de2f6906bb 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -980,4 +980,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -981,4 +981,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { throw new IllegalArgumentException("Cannot spawn an entity for " + clazz.getName()); } diff --git a/patches/server/0450-Add-BellRingEvent.patch b/patches/server/0450-Add-BellRingEvent.patch index 6ee48b9906..d1b4164b88 100644 --- a/patches/server/0450-Add-BellRingEvent.patch +++ b/patches/server/0450-Add-BellRingEvent.patch @@ -7,7 +7,7 @@ Add a new event, BellRingEvent, to trigger whenever a player rings a village bell. Passes along the bell block and the player who rang it. diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 6018dc7aa4eaac45c1eee121925f4a22625b0e55..9bdfb16720c9e5ca3254f8ea8463ca10077992ea 100644 +index e614b847543df4581dbbc79e3ffb69aa7c55e9cc..63b738c1f511e4663cad698e616cdc1528ee8c6b 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -367,10 +367,11 @@ public class CraftEventFactory { diff --git a/patches/server/0457-Add-methods-to-get-translation-keys.patch b/patches/server/0457-Add-methods-to-get-translation-keys.patch index e777a9128f..ce1256ed3e 100644 --- a/patches/server/0457-Add-methods-to-get-translation-keys.patch +++ b/patches/server/0457-Add-methods-to-get-translation-keys.patch @@ -10,10 +10,10 @@ public org.bukkit.craftbukkit.inventory.CraftMetaFirework getNBT(Lorg/bukkit/Fir Co-authored-by: MeFisto94 diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 5534348ddb3ac42b6b8a687816c2c8c1858e3b3e..d2d5a43cfdf294ccc9353258250f5a990e205b88 100644 +index e172d05e9e2b8d7844ecff286430f94c1b2fd7db..5a1b0f2352016497099c68c5bcd09a43ebe8bf3a 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -694,5 +694,10 @@ public class CraftBlock implements Block { +@@ -668,5 +668,10 @@ public class CraftBlock implements Block { public org.bukkit.SoundGroup getBlockSoundGroup() { return org.bukkit.craftbukkit.CraftSoundGroup.getSoundGroup(this.getNMS().getSoundType()); } diff --git a/patches/server/0458-Create-HoverEvent-from-ItemStack-Entity.patch b/patches/server/0458-Create-HoverEvent-from-ItemStack-Entity.patch index c1ff218feb..a8eadef392 100644 --- a/patches/server/0458-Create-HoverEvent-from-ItemStack-Entity.patch +++ b/patches/server/0458-Create-HoverEvent-from-ItemStack-Entity.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Create HoverEvent from ItemStack Entity diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 5aece14ec931f4c564e847a2797e92da8ffb569b..ff05e29bdc8d21e9e6ddb4cb23f8fc9396481ffc 100644 +index 709c0e9ba7b33e97666ac74412761bb0e770a037..aa90b0bc1ca3f79a38b39442bf87e376cd2d73ae 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -491,4 +491,41 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/patches/server/0459-Cache-block-data-strings.patch b/patches/server/0459-Cache-block-data-strings.patch index 8267b220db..16519200a0 100644 --- a/patches/server/0459-Cache-block-data-strings.patch +++ b/patches/server/0459-Cache-block-data-strings.patch @@ -17,10 +17,10 @@ index 04258e07f806acd9a0d659b682e0119a5dc23adf..14e82938f919975c4ff8d463307d1d26 if (this.isSameThread()) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index c80aaa37b7d63acfb283641a4804dc2a32156eda..68dc8455427b6e3f60a4472db3a625028c413561 100644 +index 777539309639569d9057e4de86c3957a7a72a47f..448f90b7e15bca1fd0bcc70164e2ee9cb95f7c4e 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -527,9 +527,39 @@ public class CraftBlockData implements BlockData { +@@ -528,9 +528,39 @@ public class CraftBlockData implements BlockData { Preconditions.checkState(CraftBlockData.MAP.put(nms, bukkit) == null, "Duplicate mapping %s->%s", nms, bukkit); } diff --git a/patches/server/0460-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch b/patches/server/0460-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch index a52fbc0265..f72adda1b9 100644 --- a/patches/server/0460-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch +++ b/patches/server/0460-Fix-Entity-Teleportation-and-cancel-velocity-if-tele.patch @@ -69,10 +69,10 @@ index 369298dfd437c1c83801f3d4ba63484ee1b969fe..ae2b95f53e875716489821dc9b0a3a35 if (entity instanceof Mob) { Mob entityinsentient = (Mob) entity; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 91d199250d856baa869258282bb04ed5897b14e9..889b24adb50825a3c4bd83f10c3d253e5cf80a1a 100644 +index 11d2fb9984f5d0cf91c8b3ae1153f0fcbb817a59..681a5d93933dcd02e857e260261b70e7252544a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -580,7 +580,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -579,7 +579,7 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { } // entity.setLocation() throws no event, and so cannot be cancelled diff --git a/patches/server/0464-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch b/patches/server/0464-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch index 472afd4a88..898f425c94 100644 --- a/patches/server/0464-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch +++ b/patches/server/0464-Expose-the-Entity-Counter-to-allow-plugins-to-use-va.patch @@ -21,10 +21,10 @@ index b0a73ddd7438b9ecd4462638f9f784d796c62c6c..71dc4112cb932c6b1305f0f22e99f069 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 3544ffd3af1e71cfd6fb198b4fa45da3167cd62d..336717e397d6d6572fd72da16f8585b349a80209 100644 +index 46af63d8a36621f48a7610b5c3d55ae71639bcf5..62ade83a9dbf4faf226b3a39c0e4249a231390dd 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -513,6 +513,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -494,6 +494,11 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkArgument(dataVersion <= getDataVersion(), "Newer version! Server downgrades are not supported!"); return compound; } diff --git a/patches/server/0466-Entity-isTicking.patch b/patches/server/0466-Entity-isTicking.patch index 4ef8d10eca..0467e6cc7c 100644 --- a/patches/server/0466-Entity-isTicking.patch +++ b/patches/server/0466-Entity-isTicking.patch @@ -19,10 +19,10 @@ index 71dc4112cb932c6b1305f0f22e99f069517cac08..cfdc8c37d41473300ca9a8c251e27cb2 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 889b24adb50825a3c4bd83f10c3d253e5cf80a1a..3f2a8efc6ad9e6e2043bf96894c47e578c68e263 100644 +index 681a5d93933dcd02e857e260261b70e7252544a5..4b826ff8c3c2bc07ab471557faf41a3398dbdfb9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1347,5 +1347,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1346,5 +1346,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isInLava() { return getHandle().isInLava(); } diff --git a/patches/server/0471-Optimise-getType-calls.patch b/patches/server/0471-Optimise-getType-calls.patch index d135865cc4..46fa33fd85 100644 --- a/patches/server/0471-Optimise-getType-calls.patch +++ b/patches/server/0471-Optimise-getType-calls.patch @@ -28,7 +28,7 @@ index da878e180c6b94f98dc82c6e8395f63ecc9b2c1e..a9b0f5950b6f97ea4c2a1075946b9200 super(block, propertyMap, codec); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java b/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java -index eebac2ea211f58c385b2ceb36ab911ac5e115296..d1aaca5de055fd5e3bf2c6d39ef397bbb2deeaae 100644 +index 89be1b21c918c5b81ec29fc460fa57d413fb498f..26223227f467c65f62d62a5cba6403979f62c753 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunkSnapshot.java @@ -98,7 +98,7 @@ public class CraftChunkSnapshot implements ChunkSnapshot { @@ -41,10 +41,10 @@ index eebac2ea211f58c385b2ceb36ab911ac5e115296..d1aaca5de055fd5e3bf2c6d39ef397bb @Override diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index d2d5a43cfdf294ccc9353258250f5a990e205b88..2749f81fd74e466fa6b7c1c5f08d8defc5203b3e 100644 +index 5a1b0f2352016497099c68c5bcd09a43ebe8bf3a..ef1e77729b12a9ee0b13fa283f8200cc0c3968ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -224,7 +224,7 @@ public class CraftBlock implements Block { +@@ -219,7 +219,7 @@ public class CraftBlock implements Block { @Override public Material getType() { @@ -67,7 +67,7 @@ index 2773f47d4e7a9432ab1ccebfcdc22317ef762099..b722a207c0e745bb172d93b90e1241d7 public void setFlag(int flag) { diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index 68dc8455427b6e3f60a4472db3a625028c413561..68ffdb2140bdf8d00ed86db19d316735d9a6b2d1 100644 +index 448f90b7e15bca1fd0bcc70164e2ee9cb95f7c4e..3aa4a2ac3b81abc1446b7f7dae7f636438341790 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java @@ -59,7 +59,7 @@ public class CraftBlockData implements BlockData { @@ -80,7 +80,7 @@ index 68dc8455427b6e3f60a4472db3a625028c413561..68ffdb2140bdf8d00ed86db19d316735 public net.minecraft.world.level.block.state.BlockState getState() { diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java -index 79b6f88a32ea5eaf77757b8cc3824b6dac1558a7..7bfb9bc9689c5d9899b572862f3fbe53812f36b1 100644 +index 35cf747196b43a0f1d9237fdc12424288962f8bd..54c7877f1da51ff8be467fac5e0a37b1fd573d37 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftChunkData.java @@ -95,7 +95,7 @@ public final class CraftChunkData implements ChunkGenerator.ChunkData { diff --git a/patches/server/0476-Player-elytra-boost-API.patch b/patches/server/0476-Player-elytra-boost-API.patch index 24243d0d54..15b812e401 100644 --- a/patches/server/0476-Player-elytra-boost-API.patch +++ b/patches/server/0476-Player-elytra-boost-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Player elytra boost API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8a74046fd65f1bfa7ff22a0019fd8cdf989c7a00..c7205ab86236fdd70d1dc4ce24174e19737db1b2 100644 +index 28c80b15f83947cf44f71da9f9d971f2d6e5dd5b..a0ee2811d691f0088d94a308705dab5529d52810 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -626,6 +626,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch b/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch index 9711252056..4485061e14 100644 --- a/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch +++ b/patches/server/0479-Add-getOfflinePlayerIfCached-String.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add getOfflinePlayerIfCached(String) diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ca77f684288a26ee81e0f8bf5fa649290c48d147..aa16f21e6f47c3730294f1bec2c86ee8e3c028ba 100644 +index aa8b58a51792b1e4e6d18e13f06f697e3e2ebe72..2f04af83701777cddc1d5287b67921914779381f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1814,6 +1814,28 @@ public final class CraftServer implements Server { +@@ -1813,6 +1813,28 @@ public final class CraftServer implements Server { return result; } diff --git a/patches/server/0482-Fix-client-lag-on-advancement-loading.patch b/patches/server/0482-Fix-client-lag-on-advancement-loading.patch index d1fcc45325..ddef10d3c2 100644 --- a/patches/server/0482-Fix-client-lag-on-advancement-loading.patch +++ b/patches/server/0482-Fix-client-lag-on-advancement-loading.patch @@ -15,10 +15,10 @@ manually reload the advancement data for all players, which normally takes place as a part of the datapack reloading. diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 336717e397d6d6572fd72da16f8585b349a80209..0fb0c8238be1e199220ef62576547ea6c9484a9c 100644 +index 62ade83a9dbf4faf226b3a39c0e4249a231390dd..b6436d708b2f99d3c923c112859ecd5ea2a123d8 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -346,7 +346,13 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -327,7 +327,13 @@ public final class CraftMagicNumbers implements UnsafeValues { Bukkit.getLogger().log(Level.SEVERE, "Error saving advancement " + key, ex); } diff --git a/patches/server/0489-Add-Destroy-Speed-API.patch b/patches/server/0489-Add-Destroy-Speed-API.patch index 54a2a2c3dc..eda1608ac3 100644 --- a/patches/server/0489-Add-Destroy-Speed-API.patch +++ b/patches/server/0489-Add-Destroy-Speed-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Destroy Speed API Co-authored-by: Jake Potrebic diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index 68ffdb2140bdf8d00ed86db19d316735d9a6b2d1..f4e37764f714419a614a7e40718924788a204d28 100644 +index 3aa4a2ac3b81abc1446b7f7dae7f636438341790..5b67d4dd280688093d7e36e59e5b2ec6ebdc796c 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -688,4 +688,19 @@ public class CraftBlockData implements BlockData { +@@ -689,4 +689,19 @@ public class CraftBlockData implements BlockData { public BlockState createBlockState() { return CraftBlockStates.getBlockState(this.state, null); } diff --git a/patches/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 05d2a7bd40..cd353d7693 100644 --- a/patches/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0490-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c7205ab86236fdd70d1dc4ce24174e19737db1b2..4e0612ebe2bee43d14a56679fa11b1aa69fe4bad 100644 +index a0ee2811d691f0088d94a308705dab5529d52810..47fdb3c21e10f86c34c1634708dac784577cd5f0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2536,7 +2536,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0491-Add-LivingEntity-clearActiveItem.patch b/patches/server/0491-Add-LivingEntity-clearActiveItem.patch index d761380070..3c5a99d1c4 100644 --- a/patches/server/0491-Add-LivingEntity-clearActiveItem.patch +++ b/patches/server/0491-Add-LivingEntity-clearActiveItem.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add LivingEntity#clearActiveItem diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index a0da8d022b9ab9c7b6ac6a32022739e863c2c9a0..833c1d37fde5e726933da6ac0076c6ea072389ca 100644 +index 8ed8bd2c539af20aa97bff1c0f719c4c2f793fc5..66a4d3d3626e4382e07617d0af464e6fbd8a9427 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -887,6 +887,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0500-Fix-CraftSound-backwards-compatibility.patch b/patches/server/0500-Fix-CraftSound-backwards-compatibility.patch index 9795fec129..9ca7f86992 100644 --- a/patches/server/0500-Fix-CraftSound-backwards-compatibility.patch +++ b/patches/server/0500-Fix-CraftSound-backwards-compatibility.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Fix CraftSound backwards compatibility diff --git a/src/main/java/org/bukkit/craftbukkit/CraftSound.java b/src/main/java/org/bukkit/craftbukkit/CraftSound.java -index 180275a8b9d48d0c5a7bbaa950de619aed2dad53..5b68188d1a7b5a75e2f4b61e8d415b5784e0d8c0 100644 +index 260a738d5d61cf931b939502ea9c66451855b91e..dce716b6ac407d1e1ae07272ee5c8b14f891f5fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftSound.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftSound.java -@@ -27,4 +27,10 @@ public class CraftSound { - public static Sound getBukkit(SoundEvent soundEffect) { - return Registry.SOUNDS.get(CraftNamespacedKey.fromMinecraft(BuiltInRegistries.SOUND_EVENT.getKey(soundEffect))); +@@ -40,4 +40,10 @@ public class CraftSound { + throw new IllegalArgumentException("No Reference holder found for " + bukkit + + ", this can happen if a plugin creates its own sound effect with out properly registering it."); } + + // Paper start diff --git a/patches/server/0503-Expose-LivingEntity-hurt-direction.patch b/patches/server/0503-Expose-LivingEntity-hurt-direction.patch index 12b46ea681..e5c1724c82 100644 --- a/patches/server/0503-Expose-LivingEntity-hurt-direction.patch +++ b/patches/server/0503-Expose-LivingEntity-hurt-direction.patch @@ -36,7 +36,7 @@ index 05d9a9968588381aaa3aeb06ef4d18fed4085229..c9f4f496a92ff8465a21f22f326dc025 public int getSleepTicks() { return this.getHandle().sleepCounter; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 833c1d37fde5e726933da6ac0076c6ea072389ca..4d41a73281c851c1ff9506074f7590c06105efbb 100644 +index 66a4d3d3626e4382e07617d0af464e6fbd8a9427..a1e2d78fd9a57a59887419d356be8eab72045574 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -932,5 +932,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0504-Add-OBSTRUCTED-reason-to-BedEnterResult.patch b/patches/server/0504-Add-OBSTRUCTED-reason-to-BedEnterResult.patch index b5cb8b8973..097c1f9904 100644 --- a/patches/server/0504-Add-OBSTRUCTED-reason-to-BedEnterResult.patch +++ b/patches/server/0504-Add-OBSTRUCTED-reason-to-BedEnterResult.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add OBSTRUCTED reason to BedEnterResult diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 9bdfb16720c9e5ca3254f8ea8463ca10077992ea..84941643036e4dc1cf135a24360e6a1c011969d5 100644 +index 63b738c1f511e4663cad698e616cdc1528ee8c6b..8a0c2d37830b002e7dab8e2e0567f6d1e597d5fb 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -302,6 +302,10 @@ public class CraftEventFactory { diff --git a/patches/server/0509-Additional-Block-Material-API-s.patch b/patches/server/0509-Additional-Block-Material-API-s.patch index 558eead684..1526eefd6e 100644 --- a/patches/server/0509-Additional-Block-Material-API-s.patch +++ b/patches/server/0509-Additional-Block-Material-API-s.patch @@ -9,10 +9,10 @@ process to do this in the Bukkit API Adds API for buildable, replaceable, burnable too. diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 2749f81fd74e466fa6b7c1c5f08d8defc5203b3e..5e0f16acbd892f815cc504e03cd186070598b530 100644 +index ef1e77729b12a9ee0b13fa283f8200cc0c3968ce..4239fa3d992722bd1d9184bb5c33ce5c14010052 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -465,6 +465,25 @@ public class CraftBlock implements Block { +@@ -439,6 +439,25 @@ public class CraftBlock implements Block { return this.getNMS().liquid(); } diff --git a/patches/server/0520-Added-WorldGameRuleChangeEvent.patch b/patches/server/0520-Added-WorldGameRuleChangeEvent.patch index 0b2f2b4fbe..79640a9419 100644 --- a/patches/server/0520-Added-WorldGameRuleChangeEvent.patch +++ b/patches/server/0520-Added-WorldGameRuleChangeEvent.patch @@ -64,7 +64,7 @@ index 6a1001cb708a7f779a801428d2b00fbcde888bc1..2e240ad721928a9a68370114ba61c218 public int get() { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 874598a1ae8b9adc3e746c01565986c11d12ca45..78d89ba85910f1a8b5a85c7f9a5ff0752d664d57 100644 +index 0f448e2652eb1d334bf9b8d6343e680365cc9e0b..9df709acc93157ffd86793c259e608bd3c0ff722 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1840,8 +1840,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0523-Implemented-BlockFailedDispenseEvent.patch b/patches/server/0523-Implemented-BlockFailedDispenseEvent.patch index cbf31d885b..20f3d70b06 100644 --- a/patches/server/0523-Implemented-BlockFailedDispenseEvent.patch +++ b/patches/server/0523-Implemented-BlockFailedDispenseEvent.patch @@ -32,10 +32,10 @@ index 7dd0570b2457c612484ab89a8efcedd094c4772c..b1ba2c1da9d7b59a5316574deb824740 } else { ItemStack itemstack = tileentitydispenser.getItem(i); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 84941643036e4dc1cf135a24360e6a1c011969d5..851ac82b242d513015487c15476a66d2b8b2158d 100644 +index 8a0c2d37830b002e7dab8e2e0567f6d1e597d5fb..93946b9e5a7dc61f797e81fcff9c2cef86e61340 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1997,4 +1997,12 @@ public class CraftEventFactory { +@@ -1999,4 +1999,12 @@ public class CraftEventFactory { Bukkit.getPluginManager().callEvent(event); return event; } diff --git a/patches/server/0530-Add-sendOpLevel-API.patch b/patches/server/0530-Add-sendOpLevel-API.patch index 6ac7b014b5..aa5163a0bf 100644 --- a/patches/server/0530-Add-sendOpLevel-API.patch +++ b/patches/server/0530-Add-sendOpLevel-API.patch @@ -32,7 +32,7 @@ index 709c37e41f566a8301ec26ca76eb28c44a9bf1cd..adc96e0c4f81375253b540a3b003a00e public boolean isWhiteListed(GameProfile profile) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4e0612ebe2bee43d14a56679fa11b1aa69fe4bad..ad04638955bebdf1392f9dc58be1de699858f5b3 100644 +index 47fdb3c21e10f86c34c1634708dac784577cd5f0..7362f0e73533c6b202021b93057cc0a23b5f3e99 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -640,6 +640,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0538-Implement-BlockPreDispenseEvent.patch b/patches/server/0538-Implement-BlockPreDispenseEvent.patch index d181c4d701..8f6bfbc56b 100644 --- a/patches/server/0538-Implement-BlockPreDispenseEvent.patch +++ b/patches/server/0538-Implement-BlockPreDispenseEvent.patch @@ -17,10 +17,10 @@ index 5cf5b451fecb1ff04d0c4aca1fb0b702c7f99bdf..9b1e51c1d95da885c80c6d05000d8343 tileentitydispenser.setItem(i, idispensebehavior.dispense(sourceblock, itemstack)); } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 851ac82b242d513015487c15476a66d2b8b2158d..b6648899c2146dbd41c3e4cafabeb3f7db129738 100644 +index 93946b9e5a7dc61f797e81fcff9c2cef86e61340..4bce7c239e33f675fef71416d0c825e6dc874f59 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2004,5 +2004,11 @@ public class CraftEventFactory { +@@ -2006,5 +2006,11 @@ public class CraftEventFactory { io.papermc.paper.event.block.BlockFailedDispenseEvent event = new io.papermc.paper.event.block.BlockFailedDispenseEvent(block); return event.callEvent(); } diff --git a/patches/server/0542-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/server/0542-Add-dropLeash-variable-to-EntityUnleashEvent.patch index d803e01df6..cbeafdb549 100644 --- a/patches/server/0542-Add-dropLeash-variable-to-EntityUnleashEvent.patch +++ b/patches/server/0542-Add-dropLeash-variable-to-EntityUnleashEvent.patch @@ -122,10 +122,10 @@ index 16784fcc853e23689a854e7dc6c03ed8182a164e..4eb97572a97a8d98af37c4223f42fc63 flag1 = true; } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index b6648899c2146dbd41c3e4cafabeb3f7db129738..afa573305f4fff403b72273b2faee76b1cb0e185 100644 +index 4bce7c239e33f675fef71416d0c825e6dc874f59..932035fe739404a1bafe05e9de71aa570ffa3726 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1592,8 +1592,10 @@ public class CraftEventFactory { +@@ -1594,8 +1594,10 @@ public class CraftEventFactory { return itemInHand; } diff --git a/patches/server/0548-Allow-adding-items-to-BlockDropItemEvent.patch b/patches/server/0548-Allow-adding-items-to-BlockDropItemEvent.patch index 8036fdcc36..63c3ff4747 100644 --- a/patches/server/0548-Allow-adding-items-to-BlockDropItemEvent.patch +++ b/patches/server/0548-Allow-adding-items-to-BlockDropItemEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow adding items to BlockDropItemEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index afa573305f4fff403b72273b2faee76b1cb0e185..5bb610230e5686dd8a35c5c14c506ffacd5868c9 100644 +index 932035fe739404a1bafe05e9de71aa570ffa3726..fc99df6033f4168ac1bc3ee7da11ac36d827f7bf 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -451,13 +451,30 @@ public class CraftEventFactory { diff --git a/patches/server/0550-living-entity-allow-attribute-registration.patch b/patches/server/0550-living-entity-allow-attribute-registration.patch index 680c5b9408..84f0585507 100644 --- a/patches/server/0550-living-entity-allow-attribute-registration.patch +++ b/patches/server/0550-living-entity-allow-attribute-registration.patch @@ -22,26 +22,23 @@ index d5dfb08f550f5644ff5164170d6c16a3b25a3748..7204b973c3ad9239e82355513f6d5381 + } diff --git a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java -index 233e372ba5d785352c9ac12dac37395bac63315c..0e61caa5c9f21788fbeaa90ed75d23e10b816aac 100644 +index ea48f1119a940056c37d1d203437bfbfdf13663b..a3f989fd1775adbb84d197c51e22c1889a2f8e18 100644 --- a/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java +++ b/src/main/java/org/bukkit/craftbukkit/attribute/CraftAttributeMap.java -@@ -39,6 +39,14 @@ public class CraftAttributeMap implements Attributable { +@@ -35,4 +35,11 @@ public class CraftAttributeMap implements Attributable { + return (nms == null) ? null : new CraftAttributeInstance(nms, attribute); } - + // Paper start + @Override + public void registerAttribute(Attribute attribute) { + Preconditions.checkArgument(attribute != null, "attribute"); -+ handle.registerAttribute(CraftAttributeMap.toMinecraft(attribute)); ++ handle.registerAttribute(CraftAttribute.bukkitToMinecraft(attribute)); + } + // Paper end -+ - public static net.minecraft.world.entity.ai.attributes.Attribute toMinecraft(Attribute attribute) { - return BuiltInRegistries.ATTRIBUTE.get(CraftNamespacedKey.toMinecraft(attribute.getKey())); - } + } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 4d41a73281c851c1ff9506074f7590c06105efbb..13b4873923d64ab4b18795ce7f2dbc9a7abf067e 100644 +index a1e2d78fd9a57a59887419d356be8eab72045574..fac638e0eab8c50e6afd0ceee6f9d051127221eb 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -710,6 +710,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0553-Expose-Tracked-Players.patch b/patches/server/0553-Expose-Tracked-Players.patch index 706316556e..d0b87766ad 100644 --- a/patches/server/0553-Expose-Tracked-Players.patch +++ b/patches/server/0553-Expose-Tracked-Players.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose Tracked Players diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 3f2a8efc6ad9e6e2043bf96894c47e578c68e263..de7deb9c27ffb7628124270091a5ba81b075c824 100644 +index 4b826ff8c3c2bc07ab471557faf41a3398dbdfb9..e7686273141637e5c7328703a33224b4042b6e2b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1352,5 +1352,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1351,5 +1351,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isTicking() { return getHandle().isTicking(); } diff --git a/patches/server/0561-Add-Block-isValidTool.patch b/patches/server/0561-Add-Block-isValidTool.patch index 90157a5ee1..f28e5d98e0 100644 --- a/patches/server/0561-Add-Block-isValidTool.patch +++ b/patches/server/0561-Add-Block-isValidTool.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Block#isValidTool diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 5e0f16acbd892f815cc504e03cd186070598b530..7dcc1fa9c058adf2d55b1ccc6f7abf468752e116 100644 +index 4239fa3d992722bd1d9184bb5c33ce5c14010052..5a6cc60d345dc146a2ce9bbd177b67a17bf5312b 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -718,5 +718,9 @@ public class CraftBlock implements Block { +@@ -692,5 +692,9 @@ public class CraftBlock implements Block { public String translationKey() { return this.getNMS().getBlock().getDescriptionId(); } diff --git a/patches/server/0563-Expand-world-key-API.patch b/patches/server/0563-Expand-world-key-API.patch index cb8ec89bcb..c1ab64bc8f 100644 --- a/patches/server/0563-Expand-world-key-API.patch +++ b/patches/server/0563-Expand-world-key-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expand world key API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index b5981001d8ad4d6c79b965be9a446352971b0d29..0624ba7f1f5b352a5730b6b4736b24998af0ad2a 100644 +index 93f44ca0c8388935baaa41f9b0ebb6de2f6906bb..53b62be779bbb31723c4953221d8b5f22e77824c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -986,5 +986,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -987,5 +987,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { public io.papermc.paper.world.MoonPhase getMoonPhase() { return io.papermc.paper.world.MoonPhase.getPhase(this.getHandle().dayTime() / 24000L); } @@ -20,10 +20,10 @@ index b5981001d8ad4d6c79b965be9a446352971b0d29..0624ba7f1f5b352a5730b6b4736b2499 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index aa16f21e6f47c3730294f1bec2c86ee8e3c028ba..cca320f018e0a59c55af09f7707f9121ad99a0ac 100644 +index 2f04af83701777cddc1d5287b67921914779381f..ca03eb363438d97de71b1fe4b07304e4f8d3f422 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1140,9 +1140,15 @@ public final class CraftServer implements Server { +@@ -1139,9 +1139,15 @@ public final class CraftServer implements Server { File folder = new File(this.getWorldContainer(), name); World world = this.getWorld(name); @@ -41,7 +41,7 @@ index aa16f21e6f47c3730294f1bec2c86ee8e3c028ba..cca320f018e0a59c55af09f7707f9121 if (folder.exists()) { Preconditions.checkArgument(folder.isDirectory(), "File (%s) exists and isn't a folder", name); -@@ -1229,7 +1235,7 @@ public final class CraftServer implements Server { +@@ -1228,7 +1234,7 @@ public final class CraftServer implements Server { } else if (name.equals(levelName + "_the_end")) { worldKey = net.minecraft.world.level.Level.END; } else { @@ -50,7 +50,7 @@ index aa16f21e6f47c3730294f1bec2c86ee8e3c028ba..cca320f018e0a59c55af09f7707f9121 } ServerLevel internal = (ServerLevel) new ServerLevel(this.console, console.executor, worldSession, worlddata, worldKey, worlddimension, this.getServer().progressListenerFactory.create(11), -@@ -1321,6 +1327,15 @@ public final class CraftServer implements Server { +@@ -1320,6 +1326,15 @@ public final class CraftServer implements Server { return null; } @@ -67,10 +67,10 @@ index aa16f21e6f47c3730294f1bec2c86ee8e3c028ba..cca320f018e0a59c55af09f7707f9121 // Check if a World already exists with the UID. if (this.getWorld(world.getUID()) != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 0fb0c8238be1e199220ef62576547ea6c9484a9c..1f21a5c60c5472b1694d379326d391c0866456cc 100644 +index b6436d708b2f99d3c923c112859ecd5ea2a123d8..8a2b8f8b36e54b97fa2518eb54c31da8fe0d6d67 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -524,6 +524,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -505,6 +505,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public int nextEntityId() { return net.minecraft.world.entity.Entity.nextEntityId(); } diff --git a/patches/server/0565-Item-Rarity-API.patch b/patches/server/0565-Item-Rarity-API.patch index 2a9be0545b..fa9a145dc3 100644 --- a/patches/server/0565-Item-Rarity-API.patch +++ b/patches/server/0565-Item-Rarity-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Item Rarity API public net.minecraft.world.item.Item rarity diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 1f21a5c60c5472b1694d379326d391c0866456cc..d50b92daec5fec3056af9620681da28b10222829 100644 +index 8a2b8f8b36e54b97fa2518eb54c31da8fe0d6d67..2039442d5d7f99e6589e4625a76ebbc62944d018 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -529,6 +529,20 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -510,6 +510,20 @@ public final class CraftMagicNumbers implements UnsafeValues { public String getMainLevelName() { return ((net.minecraft.server.dedicated.DedicatedServer) net.minecraft.server.MinecraftServer.getServer()).getProperties().levelName; } diff --git a/patches/server/0569-Expose-protocol-version.patch b/patches/server/0569-Expose-protocol-version.patch index 0b31d15dba..213d964b4d 100644 --- a/patches/server/0569-Expose-protocol-version.patch +++ b/patches/server/0569-Expose-protocol-version.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose protocol version diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index d50b92daec5fec3056af9620681da28b10222829..da21cb49d986f899ed174c8c1abd35bcb03d31f2 100644 +index 2039442d5d7f99e6589e4625a76ebbc62944d018..aed137c6857190e6dad62ab70ae0be3613f3bea3 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -543,6 +543,11 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -524,6 +524,11 @@ public final class CraftMagicNumbers implements UnsafeValues { public io.papermc.paper.inventory.ItemRarity getItemStackRarity(org.bukkit.inventory.ItemStack itemStack) { return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()]; } diff --git a/patches/server/0573-Set-area-affect-cloud-rotation.patch b/patches/server/0573-Set-area-affect-cloud-rotation.patch index 30ba5d84bd..963479559a 100644 --- a/patches/server/0573-Set-area-affect-cloud-rotation.patch +++ b/patches/server/0573-Set-area-affect-cloud-rotation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Set area affect cloud rotation diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 0624ba7f1f5b352a5730b6b4736b24998af0ad2a..42b6369015cdfea983b1489f7b99428eaa8c62a5 100644 +index 53b62be779bbb31723c4953221d8b5f22e77824c..0e8cf9386fa8b869e3738ac408be2dc86b9a2d9b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -952,6 +952,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -953,6 +953,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { entity.moveTo(location.getX(), location.getY(), location.getZ()); } else if (AreaEffectCloud.class.isAssignableFrom(clazz)) { entity = new net.minecraft.world.entity.AreaEffectCloud(world, x, y, z); diff --git a/patches/server/0580-More-World-API.patch b/patches/server/0580-More-World-API.patch index b77b6f98e0..a49876d9be 100644 --- a/patches/server/0580-More-World-API.patch +++ b/patches/server/0580-More-World-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] More World API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 78d89ba85910f1a8b5a85c7f9a5ff0752d664d57..2091641963b0dec3931d0fb4701ba843533f0d51 100644 +index 9df709acc93157ffd86793c259e608bd3c0ff722..245464d5e805fa1a31c3a6ebe94e6705567ef5d5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -2083,6 +2083,69 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0596-Add-basic-Datapack-API.patch b/patches/server/0596-Add-basic-Datapack-API.patch index e42c671b7b..f4b6915d39 100644 --- a/patches/server/0596-Add-basic-Datapack-API.patch +++ b/patches/server/0596-Add-basic-Datapack-API.patch @@ -92,10 +92,10 @@ index 0000000000000000000000000000000000000000..cf4374493c11057451a62a655514415c + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cca320f018e0a59c55af09f7707f9121ad99a0ac..d345a6a9ed7f97e3abcd38633617a2c4ee0a3563 100644 +index ca03eb363438d97de71b1fe4b07304e4f8d3f422..3e505c1b680e1f384c5148ba309b6cf6b3da1e45 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -304,6 +304,7 @@ public final class CraftServer implements Server { +@@ -303,6 +303,7 @@ public final class CraftServer implements Server { public boolean ignoreVanillaPermissions = false; private final List playerView; public int reloadCount; @@ -103,7 +103,7 @@ index cca320f018e0a59c55af09f7707f9121ad99a0ac..d345a6a9ed7f97e3abcd38633617a2c4 public static Exception excessiveVelEx; // Paper - Velocity warnings static { -@@ -393,6 +394,7 @@ public final class CraftServer implements Server { +@@ -392,6 +393,7 @@ public final class CraftServer implements Server { if (this.configuration.getBoolean("settings.use-map-color-cache")) { MapPalette.setMapColorCache(new CraftMapColorCache(this.logger)); } @@ -111,7 +111,7 @@ index cca320f018e0a59c55af09f7707f9121ad99a0ac..d345a6a9ed7f97e3abcd38633617a2c4 } public boolean getCommandBlockOverride(String command) { -@@ -2845,5 +2847,11 @@ public final class CraftServer implements Server { +@@ -2844,5 +2846,11 @@ public final class CraftServer implements Server { public com.destroystokyo.paper.entity.ai.MobGoals getMobGoals() { return mobGoals; } diff --git a/patches/server/0598-additions-to-PlayerGameModeChangeEvent.patch b/patches/server/0598-additions-to-PlayerGameModeChangeEvent.patch index 95c5de6481..2bb04a477b 100644 --- a/patches/server/0598-additions-to-PlayerGameModeChangeEvent.patch +++ b/patches/server/0598-additions-to-PlayerGameModeChangeEvent.patch @@ -144,7 +144,7 @@ index 73ea4907e81d7fd7830b3a9a368c88ac903428bb..4ba775edd90e716435c9ff5dc5579d96 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ad04638955bebdf1392f9dc58be1de699858f5b3..18a446978fdf956e935e6a6c66413b7f528ea671 100644 +index 7362f0e73533c6b202021b93057cc0a23b5f3e99..944416df4eeed12c3ca0b98db7df8295f7e327ec 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1564,7 +1564,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0599-ItemStack-repair-check-API.patch b/patches/server/0599-ItemStack-repair-check-API.patch index 77d7423de8..bf21ddcf19 100644 --- a/patches/server/0599-ItemStack-repair-check-API.patch +++ b/patches/server/0599-ItemStack-repair-check-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack repair check API diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index da21cb49d986f899ed174c8c1abd35bcb03d31f2..1e70a661ec459edb1bca28ddf0a833c95c2453ac 100644 +index aed137c6857190e6dad62ab70ae0be3613f3bea3..794c1da115ccfa26fd77f7b28406e6298d88f3db 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -544,6 +544,14 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -525,6 +525,14 @@ public final class CraftMagicNumbers implements UnsafeValues { return io.papermc.paper.inventory.ItemRarity.values()[getItem(itemStack.getType()).getRarity(CraftItemStack.asNMSCopy(itemStack)).ordinal()]; } diff --git a/patches/server/0600-More-Enchantment-API.patch b/patches/server/0600-More-Enchantment-API.patch index 7cd15497dc..3be6d77887 100644 --- a/patches/server/0600-More-Enchantment-API.patch +++ b/patches/server/0600-More-Enchantment-API.patch @@ -66,7 +66,7 @@ index 57decf4156f176ebcc988478c17856cbc555c5e4..3d0ce0803e1da8a2681a3cb41096ac94 public net.minecraft.world.item.enchantment.Enchantment getHandle() { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 13b4873923d64ab4b18795ce7f2dbc9a7abf067e..9d9616a4adcbcc0d2567bdcf0d57efdabda076d4 100644 +index fac638e0eab8c50e6afd0ceee6f9d051127221eb..65f516044128328e7729c971a4a299cc81d51b0a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -949,5 +949,21 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0602-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0602-Fix-and-optimise-world-force-upgrading.patch index 156f945d70..453b9cca80 100644 --- a/patches/server/0602-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/0602-Fix-and-optimise-world-force-upgrading.patch @@ -360,10 +360,10 @@ index b850dba2b0fa5bc762b170ed7083cf8904761f17..7dee0f7d49f3492c92fceff7750e6962 return this.regionCache.getAndMoveToFirst(ChunkPos.asLong(chunkcoordintpair.getRegionX(), chunkcoordintpair.getRegionZ())); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index d345a6a9ed7f97e3abcd38633617a2c4ee0a3563..3c2095addcf434ca52071100a9a22d6a8e2e6827 100644 +index 3e505c1b680e1f384c5148ba309b6cf6b3da1e45..a2eb6d59fca4ed219ee4215e46758c4c20d6e893 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1217,9 +1217,7 @@ public final class CraftServer implements Server { +@@ -1216,9 +1216,7 @@ public final class CraftServer implements Server { worlddata.checkName(name); worlddata.setModdedInfo(this.console.getServerModName(), this.console.getModdedStatus().shouldReportAsModified()); @@ -374,7 +374,7 @@ index d345a6a9ed7f97e3abcd38633617a2c4ee0a3563..3c2095addcf434ca52071100a9a22d6a long j = BiomeManager.obfuscateSeed(creator.seed()); List list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata)); -@@ -1230,6 +1228,13 @@ public final class CraftServer implements Server { +@@ -1229,6 +1227,13 @@ public final class CraftServer implements Server { biomeProvider = generator.getDefaultBiomeProvider(worldInfo); } diff --git a/patches/server/0603-Add-Mob-lookAt-API.patch b/patches/server/0603-Add-Mob-lookAt-API.patch index 2179be5193..b60d6b1767 100644 --- a/patches/server/0603-Add-Mob-lookAt-API.patch +++ b/patches/server/0603-Add-Mob-lookAt-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Mob#lookAt API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index c92f7f31c3bf96f22fb1d2e783b14b80512448a0..4d0c6e3aaf984e295061d878dd4a8ef4d19511cb 100644 +index 522b7cb1db22b02279b004916ad2a14447a6bbed..c90f9b519c82327b787d2920b3bb079efb0c7e8a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -99,5 +99,53 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { diff --git a/patches/server/0606-Attributes-API-for-item-defaults.patch b/patches/server/0606-Attributes-API-for-item-defaults.patch index 46d838e328..a1c744a84d 100644 --- a/patches/server/0606-Attributes-API-for-item-defaults.patch +++ b/patches/server/0606-Attributes-API-for-item-defaults.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Attributes API for item defaults diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 1e70a661ec459edb1bca28ddf0a833c95c2453ac..1123bba2af7c707e8237fb1336f0b958861c4119 100644 +index 794c1da115ccfa26fd77f7b28406e6298d88f3db..b16e22ab5f371ce8d84a77a2f709d3541d48d3b6 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -552,6 +552,19 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -533,6 +533,19 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftMagicNumbers.getItem(itemToBeRepaired.getType()).isValidRepairItem(CraftItemStack.asNMSCopy(itemToBeRepaired), CraftItemStack.asNMSCopy(repairMaterial)); } @@ -20,7 +20,7 @@ index 1e70a661ec459edb1bca28ddf0a833c95c2453ac..1123bba2af7c707e8237fb1336f0b958 + } + ImmutableMultimap.Builder attributeMapBuilder = ImmutableMultimap.builder(); + item.getDefaultAttributeModifiers(CraftEquipmentSlot.getNMS(equipmentSlot)).forEach((attributeBase, attributeModifier) -> { -+ attributeMapBuilder.put(CraftAttributeMap.fromMinecraft(net.minecraft.core.registries.BuiltInRegistries.ATTRIBUTE.getKey(attributeBase).toString()), CraftAttributeInstance.convert(attributeModifier, equipmentSlot)); ++ attributeMapBuilder.put(CraftAttribute.stringToBukkit(net.minecraft.core.registries.BuiltInRegistries.ATTRIBUTE.getKey(attributeBase).toString()), CraftAttributeInstance.convert(attributeModifier, equipmentSlot)); + }); + return attributeMapBuilder.build(); + } diff --git a/patches/server/0607-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0607-Add-cause-to-Weather-ThunderChangeEvents.patch index f22f9d8f60..b04130b99e 100644 --- a/patches/server/0607-Add-cause-to-Weather-ThunderChangeEvents.patch +++ b/patches/server/0607-Add-cause-to-Weather-ThunderChangeEvents.patch @@ -95,7 +95,7 @@ index 14b8011c8874e05647eb1636ee1eed5d90da8200..7bfc5bbfcf67e5bbf57e99e648ff5bed if (weather.isCancelled()) { return; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 2091641963b0dec3931d0fb4701ba843533f0d51..aa30b166cc84088cac8ed27e9bcae0dd3403fd5a 100644 +index 245464d5e805fa1a31c3a6ebe94e6705567ef5d5..180bf822d361fbae7247c78e7cc3ae412a5a7e48 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1181,7 +1181,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0610-Add-PlayerKickEvent-causes.patch b/patches/server/0610-Add-PlayerKickEvent-causes.patch index 5137fa867c..9a1e7dcbd9 100644 --- a/patches/server/0610-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0610-Add-PlayerKickEvent-causes.patch @@ -479,7 +479,7 @@ index 6724d0a1af13e97bc1d3bd94fd43fef742a0deab..20ba0a0c9eae28658888a77dd2170f62 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 18a446978fdf956e935e6a6c66413b7f528ea671..058e5d18e72e07e50fc33e447e30d3c8861022ee 100644 +index 944416df4eeed12c3ca0b98db7df8295f7e327ec..cbda3c45af426d31dd950ddc03d36ae394d9420e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -586,7 +586,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0614-Add-option-to-fix-items-merging-through-walls.patch b/patches/server/0614-Add-option-to-fix-items-merging-through-walls.patch index ce33ff909f..8f2e06ffef 100644 --- a/patches/server/0614-Add-option-to-fix-items-merging-through-walls.patch +++ b/patches/server/0614-Add-option-to-fix-items-merging-through-walls.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to fix items merging through walls diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 5d742d072d2cc532ce86bff3de15a5f0f381d1c5..b8db8750125315b15cc3d3e76ee629a60c4546a1 100644 +index a7eccb2f364ed633cb6d4914491eb686ff02e647..d70abca10e84b86310ce5e4d72eb939331dc00e4 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -258,6 +258,14 @@ public class ItemEntity extends Entity implements TraceableEntity { diff --git a/patches/server/0620-Make-item-validations-configurable.patch b/patches/server/0620-Make-item-validations-configurable.patch index 3f5b80b14a..af27648f4f 100644 --- a/patches/server/0620-Make-item-validations-configurable.patch +++ b/patches/server/0620-Make-item-validations-configurable.patch @@ -32,10 +32,10 @@ index 5d72d2c6fcab478121eb9b4216cf79532b58299e..88c899e323eb554febe191ac7df678bb } } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index b34f364f8580ae900e25ef3f31f58f4e8fee88e0..1481c8ca684eddca3eb5db3aceac4877043b9fcd 100644 +index 76b4c43343fd3ee13662ac7cd6e0e5ae4df0d615..9b266dd16dbf863dcf08783ec665dd237b048793 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -360,7 +360,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -361,7 +361,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { CompoundTag display = tag.getCompound(DISPLAY.NBT); if (display.contains(NAME.NBT)) { @@ -44,7 +44,7 @@ index b34f364f8580ae900e25ef3f31f58f4e8fee88e0..1481c8ca684eddca3eb5db3aceac4877 } if (display.contains(LOCNAME.NBT)) { -@@ -371,7 +371,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -372,7 +372,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { ListTag list = display.getList(LORE.NBT, CraftMagicNumbers.NBT.TAG_STRING); this.lore = new ArrayList(list.size()); for (int index = 0; index < list.size(); index++) { diff --git a/patches/server/0621-Line-Of-Sight-Changes.patch b/patches/server/0621-Line-Of-Sight-Changes.patch index 2cad6b1f27..0efb326f77 100644 --- a/patches/server/0621-Line-Of-Sight-Changes.patch +++ b/patches/server/0621-Line-Of-Sight-Changes.patch @@ -19,10 +19,10 @@ index 59a377a291927b843b9e4fb4a558eeb729f3d6a8..1427616a0f1c80d381831d8928a4b632 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 42b6369015cdfea983b1489f7b99428eaa8c62a5..5a949e1d482e2485742e24b63395204b7fc7d1f5 100644 +index 0e8cf9386fa8b869e3738ac408be2dc86b9a2d9b..c3a26a55f46737a470448c6554d6827b1d6fc89c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -992,5 +992,21 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -993,5 +993,21 @@ public abstract class CraftRegionAccessor implements RegionAccessor { public org.bukkit.NamespacedKey getKey() { return org.bukkit.craftbukkit.util.CraftNamespacedKey.fromMinecraft(this.getHandle().getLevel().dimension().location()); } @@ -45,7 +45,7 @@ index 42b6369015cdfea983b1489f7b99428eaa8c62a5..5a949e1d482e2485742e24b63395204b // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 9d9616a4adcbcc0d2567bdcf0d57efdabda076d4..40dd8ef6f034be2d5866a0c253566026d59ed91a 100644 +index 65f516044128328e7729c971a4a299cc81d51b0a..7876e243d6389bdfc33a5bf7e18eb3b33256919b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -583,6 +583,23 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0622-add-per-world-spawn-limits.patch b/patches/server/0622-add-per-world-spawn-limits.patch index d2b35a2549..5c4088d46b 100644 --- a/patches/server/0622-add-per-world-spawn-limits.patch +++ b/patches/server/0622-add-per-world-spawn-limits.patch @@ -6,7 +6,7 @@ Subject: [PATCH] add per world spawn limits Taken from #2982. Credit to Chasewhip8 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index aa30b166cc84088cac8ed27e9bcae0dd3403fd5a..b778a911ec072bf375232dd94fc29cb1de1ea88c 100644 +index 180bf822d361fbae7247c78e7cc3ae412a5a7e48..975b7c20f3755e463c1d65d8de7d63f26bfaf56b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -212,6 +212,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0624-Add-more-LimitedRegion-API.patch b/patches/server/0624-Add-more-LimitedRegion-API.patch index af3f4ff82e..2a50497e38 100644 --- a/patches/server/0624-Add-more-LimitedRegion-API.patch +++ b/patches/server/0624-Add-more-LimitedRegion-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add more LimitedRegion API diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java -index bc606693566419c143d19284b110961602c2810b..23ffe4b8a19286543e12bf7408879e6d1305a78f 100644 +index a4aaa1da9987aaf2ac3b9338d272ca55ab2ac948..5830635e96ab9e10320f790f17a3b345c690ff85 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java @@ -249,4 +249,45 @@ public class CraftLimitedRegion extends CraftRegionAccessor implements LimitedRe diff --git a/patches/server/0626-Missing-Entity-API.patch b/patches/server/0626-Missing-Entity-API.patch index 1e0ae53ca4..230b5aa981 100644 --- a/patches/server/0626-Missing-Entity-API.patch +++ b/patches/server/0626-Missing-Entity-API.patch @@ -360,10 +360,10 @@ index 61d4877b4f74362e38104bfeacb7d66534ad798e..454dd67920826b8b62c2654abfd43fc0 @Override protected EntityHitResult findHitEntity(Vec3 currentPosition, Vec3 nextPosition) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 5a949e1d482e2485742e24b63395204b7fc7d1f5..977012bfa4c42d619f2e9729c2be032999c403f7 100644 +index c3a26a55f46737a470448c6554d6827b1d6fc89c..c0186224fd64d70770a0e16752d17c0870121d8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -828,14 +828,19 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -829,14 +829,19 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } else if (Phantom.class.isAssignableFrom(clazz)) { entity = net.minecraft.world.entity.EntityType.PHANTOM.create(world); } else if (Fish.class.isAssignableFrom(clazz)) { @@ -431,7 +431,7 @@ index 3f1f4d65525562b3117fdc21c8a7f535b12c3c46..90a989c7c9de6f9ba55ab640761915e9 + // Paper end - Horse API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java -index 1d910c34bc1154243b5a3bd774c70f1808d60a25..e2cfb4a162efaa3cae1fdae95ec74efe4a3af627 100644 +index 78487d6c87a9b4ae3b2065957290417323c1109e..c13d7fd15d8614f1ced30569fd1eae732a31b800 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAreaEffectCloud.java @@ -223,4 +223,17 @@ public class CraftAreaEffectCloud extends CraftEntity implements AreaEffectCloud @@ -530,13 +530,14 @@ index 86ad6073a130100258908d3f2c93c54e21e998f3..17608e0e8cc5288905d2e42ae1429f7d + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java -index 566da8f88d9ee76baf41e5a4cdf0b73fd424c6b9..533a339a2c7369475f1a66ae2c8bb1df04914614 100644 +index 94be7d7d88b38d73592a6a76ee9b9b755ba6c588..6c9531c018be29b5794d047b50007fde1b50b494 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftCat.java -@@ -44,4 +44,25 @@ public class CraftCat extends CraftTameableAnimal implements Cat { - public void setCollarColor(DyeColor color) { - this.getHandle().setCollarColor(net.minecraft.world.item.DyeColor.byId(color.getWoolData())); +@@ -64,4 +64,26 @@ public class CraftCat extends CraftTameableAnimal implements Cat { + .byId(bukkit.ordinal()); + } } ++ + // Paper Start - More cat api + @Override + public void setLyingDown(boolean lyingDown) { @@ -657,10 +658,10 @@ index fc0f0e841dc974d080e1abb9bbafb5165801131f..d657fd2c507a5b215aeab0a5f3e9c2ee + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index de7deb9c27ffb7628124270091a5ba81b075c824..4fe558a882e87912e408b5bbd223666969e30029 100644 +index e7686273141637e5c7328703a33224b4042b6e2b..367d01e22ab423b17a0b3d4732e507f8ae2979ea 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -233,10 +233,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -232,10 +232,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { else { return new CraftSquid(server, (Squid) entity); } } else if (entity instanceof AbstractFish) { @@ -1147,10 +1148,10 @@ index c4f7216c7ca7a49048fcf5240ef2a8f80e843f1c..6079581ba2eef8ac9272d0bbbf77e31f @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillagerZombie.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillagerZombie.java -index d83c0e08610fff76f7bce1103acfa48be674c018..3c14554a6a657223441eee97258734ea05965bc7 100644 +index e2a0c11867abee6add8775259c54f2052de7b1ad..fd968881eeec6dc5bdf90decc23a2bfc619c410d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillagerZombie.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillagerZombie.java -@@ -64,13 +64,20 @@ public class CraftVillagerZombie extends CraftZombie implements ZombieVillager { +@@ -60,13 +60,20 @@ public class CraftVillagerZombie extends CraftZombie implements ZombieVillager { @Override public void setConversionTime(int time) { diff --git a/patches/server/0628-Fix-return-value-of-Block-applyBoneMeal-always-being.patch b/patches/server/0628-Fix-return-value-of-Block-applyBoneMeal-always-being.patch index 4dd7979d6b..62c862fdb8 100644 --- a/patches/server/0628-Fix-return-value-of-Block-applyBoneMeal-always-being.patch +++ b/patches/server/0628-Fix-return-value-of-Block-applyBoneMeal-always-being.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix return value of Block#applyBoneMeal always being false diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 7dcc1fa9c058adf2d55b1ccc6f7abf468752e116..50469bbd710375c6046647203435330c5bc21a4f 100644 +index 5a6cc60d345dc146a2ce9bbd177b67a17bf5312b..4c4e242305edf7b8bfa6761cd7e8c9498982608c 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -583,7 +583,7 @@ public class CraftBlock implements Block { +@@ -557,7 +557,7 @@ public class CraftBlock implements Block { } } diff --git a/patches/server/0638-Stinger-API.patch b/patches/server/0638-Stinger-API.patch index 3933867aa6..9e8f26a8d2 100644 --- a/patches/server/0638-Stinger-API.patch +++ b/patches/server/0638-Stinger-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Stinger API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 40dd8ef6f034be2d5866a0c253566026d59ed91a..1a911126ccb7b7e298b66d3fec832dcd0c0e58f7 100644 +index 7876e243d6389bdfc33a5bf7e18eb3b33256919b..59d0002c70e2dae6ab9cb896e0a80e16993e64f3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -338,7 +338,28 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0640-Add-System.out-err-catcher.patch b/patches/server/0640-Add-System.out-err-catcher.patch index cdb6c08dc3..f191c334a6 100644 --- a/patches/server/0640-Add-System.out-err-catcher.patch +++ b/patches/server/0640-Add-System.out-err-catcher.patch @@ -105,10 +105,10 @@ index 0000000000000000000000000000000000000000..a8e813ca89b033f061e695288b3383bd + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 3c2095addcf434ca52071100a9a22d6a8e2e6827..22610215d4b71843291eed9d482592dc3448ab0d 100644 +index a2eb6d59fca4ed219ee4215e46758c4c20d6e893..3253875b3001befebc8ff63a237bfa491fcd42f0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -306,6 +306,7 @@ public final class CraftServer implements Server { +@@ -305,6 +305,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 diff --git a/patches/server/0645-Add-PlayerSetSpawnEvent.patch b/patches/server/0645-Add-PlayerSetSpawnEvent.patch index e3c707ed20..dc78ab51dc 100644 --- a/patches/server/0645-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0645-Add-PlayerSetSpawnEvent.patch @@ -187,7 +187,7 @@ index 1a27b7faa22e6b3dc5fce329ed06425de56c4315..b9903c29bdea8d1e3b6fce0e97be6bd9 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 058e5d18e72e07e50fc33e447e30d3c8861022ee..471f25a82a109a58c4093d3a834d8131357c32da 100644 +index cbda3c45af426d31dd950ddc03d36ae394d9420e..18f37eff3c60c52580d49c3398e5ef01245b4412 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1323,9 +1323,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0658-Add-missing-team-sidebar-display-slots.patch b/patches/server/0658-Add-missing-team-sidebar-display-slots.patch index 8743a4eb1c..84c701a25b 100644 --- a/patches/server/0658-Add-missing-team-sidebar-display-slots.patch +++ b/patches/server/0658-Add-missing-team-sidebar-display-slots.patch @@ -52,10 +52,10 @@ index 73c5ffff70605b32188a9bb5fb6c0ee04cb66efe..711d227f5ee6d63356a94a0567968da4 } diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index fe5d3b60ad740b7f1cce040f9c8d96ac51245ef6..43ffc4180b1ef2d2000991ad58b0706141470d08 100644 +index cfaa85dc3d567bf0110e45fc4e4f24a406b41a45..313cd180cbad5727433daae4c15ffa4e1e948eaa 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -251,6 +251,14 @@ public class Commodore +@@ -239,6 +239,14 @@ public class Commodore desc = getOriginalOrRewrite( desc ); } // Paper end diff --git a/patches/server/0660-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0660-Add-methods-to-find-targets-for-lightning-strikes.patch index 7acd6065b2..f6cee6d23f 100644 --- a/patches/server/0660-Add-methods-to-find-targets-for-lightning-strikes.patch +++ b/patches/server/0660-Add-methods-to-find-targets-for-lightning-strikes.patch @@ -31,7 +31,7 @@ index b71e404acd353757cb64489cfe3804988db70409..257eedb5413521e1e3ce6a6a6376e0c8 blockposition1 = blockposition1.above(2); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b778a911ec072bf375232dd94fc29cb1de1ea88c..b2137bc4ef0282f9d14068609b7aca7d0708bfe3 100644 +index 975b7c20f3755e463c1d65d8de7d63f26bfaf56b..e4eb19d37ec3128a0f0c96e154605fccc8ba822a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -693,6 +693,23 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0661-Get-entity-default-attributes.patch b/patches/server/0661-Get-entity-default-attributes.patch index 2f03d56c79..cdb057450e 100644 --- a/patches/server/0661-Get-entity-default-attributes.patch +++ b/patches/server/0661-Get-entity-default-attributes.patch @@ -44,7 +44,7 @@ index 0000000000000000000000000000000000000000..12135ffeacd648f6bc4d7d327059ea1a +} diff --git a/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeMap.java b/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeMap.java new file mode 100644 -index 0000000000000000000000000000000000000000..cf9d28ea97d93cec05c9fb768d59e283ca915565 +index 0000000000000000000000000000000000000000..68044b8439c302114240d0ae4da93ab3e0789cd2 --- /dev/null +++ b/src/main/java/io/papermc/paper/attribute/UnmodifiableAttributeMap.java @@ -0,0 +1,32 @@ @@ -54,7 +54,7 @@ index 0000000000000000000000000000000000000000..cf9d28ea97d93cec05c9fb768d59e283 +import org.bukkit.attribute.Attributable; +import org.bukkit.attribute.Attribute; +import org.bukkit.attribute.AttributeInstance; -+import org.bukkit.craftbukkit.attribute.CraftAttributeMap; ++import org.bukkit.craftbukkit.attribute.CraftAttribute; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + @@ -68,7 +68,7 @@ index 0000000000000000000000000000000000000000..cf9d28ea97d93cec05c9fb768d59e283 + + @Override + public @Nullable AttributeInstance getAttribute(@NotNull Attribute attribute) { -+ net.minecraft.world.entity.ai.attributes.Attribute nmsAttribute = CraftAttributeMap.toMinecraft(attribute); ++ net.minecraft.world.entity.ai.attributes.Attribute nmsAttribute = CraftAttribute.bukkitToMinecraft(attribute); + if (!this.handle.hasAttribute(nmsAttribute)) { + return null; + } @@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..cf9d28ea97d93cec05c9fb768d59e283 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 1123bba2af7c707e8237fb1336f0b958861c4119..ffd94f9af2e39f1fdb076835c32cc7287329f6dd 100644 +index b16e22ab5f371ce8d84a77a2f709d3541d48d3b6..b697619abf1bce42a15a38d959dad37d49055c30 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -569,6 +569,18 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -550,6 +550,18 @@ public final class CraftMagicNumbers implements UnsafeValues { public int getProtocolVersion() { return net.minecraft.SharedConstants.getCurrentVersion().getProtocolVersion(); } diff --git a/patches/server/0662-Left-handed-API.patch b/patches/server/0662-Left-handed-API.patch index 3b4077b54a..367c9ed9bc 100644 --- a/patches/server/0662-Left-handed-API.patch +++ b/patches/server/0662-Left-handed-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Left handed API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index 4d0c6e3aaf984e295061d878dd4a8ef4d19511cb..620d918e302a00d5a6640648e3096988d15535a0 100644 +index c90f9b519c82327b787d2920b3bb079efb0c7e8a..c526304d31fd9be1b3c895187f7d9fc45edf4866 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -147,5 +147,15 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { diff --git a/patches/server/0663-Add-more-advancement-API.patch b/patches/server/0663-Add-more-advancement-API.patch index 2acb44facc..1d9f8d9a4a 100644 --- a/patches/server/0663-Add-more-advancement-API.patch +++ b/patches/server/0663-Add-more-advancement-API.patch @@ -164,10 +164,10 @@ index 4aa8cda2bf72627b153e636a408fb3971caf2309..e29d7c6e1cef10a76c8630855fada11c private final DisplayInfo handle; diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index 43ffc4180b1ef2d2000991ad58b0706141470d08..cacd9b59741c31e70e898e7af91a1a6ed3f87f07 100644 +index 313cd180cbad5727433daae4c15ffa4e1e948eaa..8f8b14cb845bf1ba28276b3e3c0d8f8c56106c7d 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -54,6 +54,7 @@ public class Commodore +@@ -56,6 +56,7 @@ public class Commodore ) ); // Paper start - Plugin rewrites @@ -175,7 +175,7 @@ index 43ffc4180b1ef2d2000991ad58b0706141470d08..cacd9b59741c31e70e898e7af91a1a6e private static final Map SEARCH_AND_REMOVE = initReplacementsMap(); private static Map initReplacementsMap() { -@@ -460,6 +461,11 @@ public class Commodore +@@ -454,6 +455,11 @@ public class Commodore super.visitMethodInsn(opcode, owner, name, "()Lcom/destroystokyo/paper/profile/PlayerProfile;", itf); return; } diff --git a/patches/server/0664-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0664-Add-ItemFactory-getSpawnEgg-API.patch index e5dbfedc65..ed29983bdd 100644 --- a/patches/server/0664-Add-ItemFactory-getSpawnEgg-API.patch +++ b/patches/server/0664-Add-ItemFactory-getSpawnEgg-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add ItemFactory#getSpawnEgg API diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index ff05e29bdc8d21e9e6ddb4cb23f8fc9396481ffc..3b02bf4e5b657af9debb432ab412fe50e1f7b922 100644 +index aa90b0bc1ca3f79a38b39442bf87e376cd2d73ae..48a88dae70fdf2757537d4a90aa60046e6346323 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -528,4 +528,19 @@ public final class CraftItemFactory implements ItemFactory { @@ -29,10 +29,10 @@ index ff05e29bdc8d21e9e6ddb4cb23f8fc9396481ffc..3b02bf4e5b657af9debb432ab412fe50 + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index cacd9b59741c31e70e898e7af91a1a6ed3f87f07..b7d09079411f70353f44df3c623a0076367cf603 100644 +index 8f8b14cb845bf1ba28276b3e3c0d8f8c56106c7d..d7495ea25713e959d106764054ce6642af497035 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -467,6 +467,16 @@ public class Commodore +@@ -461,6 +461,16 @@ public class Commodore return; } // Paper end diff --git a/patches/server/0665-Add-critical-damage-API.patch b/patches/server/0665-Add-critical-damage-API.patch index 7879ed048b..b4fe4d7fb3 100644 --- a/patches/server/0665-Add-critical-damage-API.patch +++ b/patches/server/0665-Add-critical-damage-API.patch @@ -71,7 +71,7 @@ index f70f0764d9743dbfa2ead4c90d0df3dbc107672d..02574c777047b8e1375aa91e0cd75c73 int k = entity.getRemainingFireTicks(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 5bb610230e5686dd8a35c5c14c506ffacd5868c9..f171124710b5e731652df0074fe24360239225b2 100644 +index fc99df6033f4168ac1bc3ee7da11ac36d827f7bf..6c7f7ae5208e9fa58694f202f048d2f3524b27a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1018,7 +1018,7 @@ public class CraftEventFactory { diff --git a/patches/server/0667-Add-isCollidable-methods-to-various-places.patch b/patches/server/0667-Add-isCollidable-methods-to-various-places.patch index c6003c0743..b5addfe224 100644 --- a/patches/server/0667-Add-isCollidable-methods-to-various-places.patch +++ b/patches/server/0667-Add-isCollidable-methods-to-various-places.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Add isCollidable methods to various places public net.minecraft.world.level.block.state.BlockBehaviour hasCollision diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 50469bbd710375c6046647203435330c5bc21a4f..e649c3296363ea2f8429593e33a7833143bcabba 100644 +index 4c4e242305edf7b8bfa6761cd7e8c9498982608c..5fa6a77ccd01deb929d86efc227439f4f280ba53 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -482,6 +482,11 @@ public class CraftBlock implements Block { +@@ -456,6 +456,11 @@ public class CraftBlock implements Block { public boolean isSolid() { return this.getNMS().blocksMotion(); } @@ -39,10 +39,10 @@ index b722a207c0e745bb172d93b90e1241d7bfa173ce..792bfc7eab33b26462e76a1912bd712e + // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index ffd94f9af2e39f1fdb076835c32cc7287329f6dd..c6d38178513bd54bb51640334777d4a347a93284 100644 +index b697619abf1bce42a15a38d959dad37d49055c30..ce6b2198db6a48e9e1899db94c49a6c108950f61 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -581,6 +581,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -562,6 +562,12 @@ public final class CraftMagicNumbers implements UnsafeValues { var supplier = net.minecraft.world.entity.ai.attributes.DefaultAttributes.getSupplier((net.minecraft.world.entity.EntityType) net.minecraft.core.registries.BuiltInRegistries.ENTITY_TYPE.get(CraftNamespacedKey.toMinecraft(bukkitEntityKey))); return new io.papermc.paper.attribute.UnmodifiableAttributeMap(supplier); } diff --git a/patches/server/0670-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0670-Add-Raw-Byte-Entity-Serialization.patch index 4bbfe755cf..5bbc3a32d7 100644 --- a/patches/server/0670-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0670-Add-Raw-Byte-Entity-Serialization.patch @@ -27,10 +27,10 @@ index 3b7e54b4348f0486e43b4f7930ada0a16e989650..6512c3ca611233f7541c1d0119521e05 return this.isPassenger() ? false : this.saveAsPassenger(nbt); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 4fe558a882e87912e408b5bbd223666969e30029..984e6fa489e6b3d833d5f83dd739a6ff8a3ec5f0 100644 +index 367d01e22ab423b17a0b3d4732e507f8ae2979ea..ad0ea49e2ee26d20ac93771a2353b186d0ccd41d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1371,5 +1371,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1370,5 +1370,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { } return set; } @@ -47,10 +47,10 @@ index 4fe558a882e87912e408b5bbd223666969e30029..984e6fa489e6b3d833d5f83dd739a6ff // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index c6d38178513bd54bb51640334777d4a347a93284..e169c16626e967c30c6f9a324a40550adf5476dd 100644 +index ce6b2198db6a48e9e1899db94c49a6c108950f61..186959e6e7aef0dada59320d3f180c99a93bc90c 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -492,6 +492,29 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -473,6 +473,29 @@ public final class CraftMagicNumbers implements UnsafeValues { return CraftItemStack.asCraftMirror(net.minecraft.world.item.ItemStack.of(ca.spottedleaf.dataconverter.minecraft.MCDataConverter.convertTag(ca.spottedleaf.dataconverter.minecraft.datatypes.MCTypeRegistry.ITEM_STACK, compound, dataVersion, getDataVersion()))); } diff --git a/patches/server/0674-Improve-and-expand-AsyncCatcher.patch b/patches/server/0674-Improve-and-expand-AsyncCatcher.patch index 901a93acd6..dc14586dd1 100644 --- a/patches/server/0674-Improve-and-expand-AsyncCatcher.patch +++ b/patches/server/0674-Improve-and-expand-AsyncCatcher.patch @@ -166,7 +166,7 @@ index 47bab513feec217d875192afef61f3af95b93d24..d3fb277878adb26c7d80cf21f2707038 PersistentEntitySectionManager.LOGGER.warn("Entity {} wasn't found in section {} (destroying due to {})", new Object[]{this.entity, SectionPos.of(this.currentSectionKey), reason}); } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 1a911126ccb7b7e298b66d3fec832dcd0c0e58f7..661638716cd4d1b20745f3a196f6d060b3de570c 100644 +index 59d0002c70e2dae6ab9cb896e0a80e16993e64f3..26054a3b4e2609cb68751d6e37bce22df94c46b8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -464,6 +464,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0675-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0675-Add-paper-mobcaps-and-paper-playermobcaps.patch index 318fd7edce..3dfdeead72 100644 --- a/patches/server/0675-Add-paper-mobcaps-and-paper-playermobcaps.patch +++ b/patches/server/0675-Add-paper-mobcaps-and-paper-playermobcaps.patch @@ -278,10 +278,10 @@ index 7983f9a21251cec4857529ad1180a62668ea5037..e1c4cf4b60b810837526c888ec82acbf // Paper start - add parameters and int ret type spawnCategoryForChunk(group, world, chunk, checker, runner, Integer.MAX_VALUE, null); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 22610215d4b71843291eed9d482592dc3448ab0d..a39127c21e313b9bdd7796b57cfb5c241d589db5 100644 +index 3253875b3001befebc8ff63a237bfa491fcd42f0..854980b4d52403a22847167b89b89cf3dda1793c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2184,6 +2184,11 @@ public final class CraftServer implements Server { +@@ -2183,6 +2183,11 @@ public final class CraftServer implements Server { @Override public int getSpawnLimit(SpawnCategory spawnCategory) { @@ -294,7 +294,7 @@ index 22610215d4b71843291eed9d482592dc3448ab0d..a39127c21e313b9bdd7796b57cfb5c24 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index b2137bc4ef0282f9d14068609b7aca7d0708bfe3..cda158bb560c32f7dbea05cd4adb3d38f6db5280 100644 +index e4eb19d37ec3128a0f0c96e154605fccc8ba822a..99f075d23484301259daabbab0569fc780e02b5b 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1699,9 +1699,14 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0725-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0725-Allow-delegation-to-vanilla-chunk-gen.patch index e5000ed732..1c3a82d35b 100644 --- a/patches/server/0725-Allow-delegation-to-vanilla-chunk-gen.patch +++ b/patches/server/0725-Allow-delegation-to-vanilla-chunk-gen.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow delegation to vanilla chunk gen diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a39127c21e313b9bdd7796b57cfb5c241d589db5..f951c5ff4058f91540eb2da95ca433be5e590196 100644 +index 854980b4d52403a22847167b89b89cf3dda1793c..a68374e527a9d8f29863baf8e18fbd09d45e4185 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2364,6 +2364,88 @@ public final class CraftServer implements Server { +@@ -2363,6 +2363,88 @@ public final class CraftServer implements Server { return new OldCraftChunkData(world.getMinHeight(), world.getMaxHeight(), handle.registryAccess().registryOrThrow(Registries.BIOME)); } diff --git a/patches/server/0728-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0728-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch index c0e3e643ee..1f09d15414 100644 --- a/patches/server/0728-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch +++ b/patches/server/0728-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix ChunkSnapshot#isSectionEmpty(int) and optimize diff --git a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -index b738e1f7debac7d70910d5ac908ca9d4f60640d5..007fd353bd55056ecddba2e16c5fa8c479961402 100644 +index d10dcf5b9c987bbd4761470c16c9d4693ccf896d..3a5fbdd0915ae19fc0bb717bc117792d71e73af8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftChunk.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftChunk.java -@@ -289,13 +289,17 @@ public class CraftChunk implements Chunk { +@@ -290,13 +290,17 @@ public class CraftChunk implements Chunk { PalettedContainerRO>[] biome = (includeBiome || includeBiomeTempRain) ? new PalettedContainer[cs.length] : null; Registry iregistry = this.worldServer.registryAccess().registryOrThrow(Registries.BIOME); @@ -31,7 +31,7 @@ index b738e1f7debac7d70910d5ac908ca9d4f60640d5..007fd353bd55056ecddba2e16c5fa8c4 LevelLightEngine lightengine = this.worldServer.getLightEngine(); DataLayer skyLightArray = lightengine.getLayerListener(LightLayer.SKY).getDataLayerData(SectionPos.of(x, i, z)); -@@ -314,8 +318,7 @@ public class CraftChunk implements Chunk { +@@ -315,8 +319,7 @@ public class CraftChunk implements Chunk { } if (biome != null) { diff --git a/patches/server/0734-Entity-powdered-snow-API.patch b/patches/server/0734-Entity-powdered-snow-API.patch index 2ef1f74e6b..5f73447eb1 100644 --- a/patches/server/0734-Entity-powdered-snow-API.patch +++ b/patches/server/0734-Entity-powdered-snow-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Entity powdered snow API public net.minecraft.world.entity.monster.Skeleton inPowderSnowTime diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 984e6fa489e6b3d833d5f83dd739a6ff8a3ec5f0..f05d8107368e639adf60f3e5d944c65300087a3c 100644 +index ad0ea49e2ee26d20ac93771a2353b186d0ccd41d..e4c587d6304492d936ec3d84303c4cf3b093a2b0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1381,5 +1381,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1380,5 +1380,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { this.entity.setRot(location.getYaw(), location.getPitch()); return !this.entity.valid && this.entity.level().addFreshEntity(this.entity, reason); } diff --git a/patches/server/0742-Bucketable-API.patch b/patches/server/0742-Bucketable-API.patch index 795b1844e3..4345ec75a6 100644 --- a/patches/server/0742-Bucketable-API.patch +++ b/patches/server/0742-Bucketable-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Bucketable API diff --git a/src/main/java/io/papermc/paper/entity/PaperBucketable.java b/src/main/java/io/papermc/paper/entity/PaperBucketable.java new file mode 100644 -index 0000000000000000000000000000000000000000..c4eee682f5b8cd82f71f92f0549f39b76e735cd8 +index 0000000000000000000000000000000000000000..d3fc2e5db9f3c20120b403bf03c3c340b9956cbd --- /dev/null +++ b/src/main/java/io/papermc/paper/entity/PaperBucketable.java @@ -0,0 +1,31 @@ @@ -38,7 +38,7 @@ index 0000000000000000000000000000000000000000..c4eee682f5b8cd82f71f92f0549f39b7 + + @Override + default Sound getPickupSound() { -+ return CraftSound.getBukkit(this.getHandle().getPickupSound()); ++ return CraftSound.minecraftToBukkit(this.getHandle().getPickupSound()); + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftAxolotl.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftAxolotl.java diff --git a/patches/server/0745-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0745-Expose-vanilla-BiomeProvider-from-WorldInfo.patch index 48dec66567..52d08aef33 100644 --- a/patches/server/0745-Expose-vanilla-BiomeProvider-from-WorldInfo.patch +++ b/patches/server/0745-Expose-vanilla-BiomeProvider-from-WorldInfo.patch @@ -18,10 +18,10 @@ index 6c02d5233c782b0e5049afdf84250687ae71dcde..2503e2b2436a6e07fa22c0e55ad1539b biomeProvider = gen.getDefaultBiomeProvider(worldInfo); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f951c5ff4058f91540eb2da95ca433be5e590196..7efd83f26c26166e51f7c2c6f08cf83291db61c0 100644 +index a68374e527a9d8f29863baf8e18fbd09d45e4185..02faa85848ab286c7219f09e0b2048fdad0cd005 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1224,7 +1224,7 @@ public final class CraftServer implements Server { +@@ -1223,7 +1223,7 @@ public final class CraftServer implements Server { List list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata)); LevelStem worlddimension = iregistry.get(actualDimension); @@ -31,10 +31,10 @@ index f951c5ff4058f91540eb2da95ca433be5e590196..7efd83f26c26166e51f7c2c6f08cf832 biomeProvider = generator.getDefaultBiomeProvider(worldInfo); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index cda158bb560c32f7dbea05cd4adb3d38f6db5280..6b111e7397af92ac6e80001b783e42a26186b930 100644 +index 99f075d23484301259daabbab0569fc780e02b5b..e138428fe35c075cfffcc931b53f836129307154 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -202,6 +202,30 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -202,6 +202,29 @@ public class CraftWorld extends CraftRegionAccessor implements World { public int getPlayerCount() { return world.players().size(); } @@ -45,15 +45,14 @@ index cda158bb560c32f7dbea05cd4adb3d38f6db5280..6b111e7397af92ac6e80001b783e42a2 + + final net.minecraft.world.level.biome.BiomeSource biomeSource = serverCache.getGenerator().getBiomeSource(); + final net.minecraft.world.level.biome.Climate.Sampler sampler = serverCache.randomState().sampler(); -+ final net.minecraft.core.Registry biomeRegistry = this.getHandle().registryAccess().registryOrThrow(net.minecraft.core.registries.Registries.BIOME); + + final List possibleBiomes = biomeSource.possibleBiomes().stream() -+ .map(biome -> CraftBlock.biomeBaseToBiome(biomeRegistry, biome)) ++ .map(biome -> org.bukkit.craftbukkit.block.CraftBiome.minecraftHolderToBukkit(biome)) + .toList(); + return new BiomeProvider() { + @Override + public Biome getBiome(final org.bukkit.generator.WorldInfo worldInfo, final int x, final int y, final int z) { -+ return CraftBlock.biomeBaseToBiome(biomeRegistry, biomeSource.getNoiseBiome(x >> 2, y >> 2, z >> 2, sampler)); ++ return org.bukkit.craftbukkit.block.CraftBiome.minecraftHolderToBukkit(biomeSource.getNoiseBiome(x >> 2, y >> 2, z >> 2, sampler)); + } + + @Override @@ -66,7 +65,7 @@ index cda158bb560c32f7dbea05cd4adb3d38f6db5280..6b111e7397af92ac6e80001b783e42a2 private static final Random rand = new Random(); diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftWorldInfo.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftWorldInfo.java -index 5d655d6cd3e23e0287069f8bdf77601487e862fd..5dbd1a6d314ebbb072cb61360ca5c1043f47a38d 100644 +index 5d655d6cd3e23e0287069f8bdf77601487e862fd..cf57c6e9ce63f7b1d95d91ead2453409a31a5c52 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftWorldInfo.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftWorldInfo.java @@ -17,8 +17,14 @@ public class CraftWorldInfo implements WorldInfo { @@ -101,7 +100,7 @@ index 5d655d6cd3e23e0287069f8bdf77601487e862fd..5dbd1a6d314ebbb072cb61360ca5c104 @Override public String getName() { return this.name; -@@ -65,4 +62,35 @@ public class CraftWorldInfo implements WorldInfo { +@@ -65,4 +62,34 @@ public class CraftWorldInfo implements WorldInfo { public int getMaxHeight() { return this.maxHeight; } @@ -118,14 +117,13 @@ index 5d655d6cd3e23e0287069f8bdf77601487e862fd..5dbd1a6d314ebbb072cb61360ca5c104 + registryAccess.lookupOrThrow(net.minecraft.core.registries.Registries.NOISE), getSeed()); + } + -+ final net.minecraft.core.Registry biomeRegistry = CraftWorldInfo.this.registryAccess.registryOrThrow(net.minecraft.core.registries.Registries.BIOME); + final java.util.List possibleBiomes = CraftWorldInfo.this.vanillaChunkGenerator.getBiomeSource().possibleBiomes().stream() -+ .map(biome -> org.bukkit.craftbukkit.block.CraftBlock.biomeBaseToBiome(biomeRegistry, biome)) ++ .map(biome -> org.bukkit.craftbukkit.block.CraftBiome.minecraftHolderToBukkit(biome)) + .toList(); + return new org.bukkit.generator.BiomeProvider() { + @Override + public org.bukkit.block.Biome getBiome(final WorldInfo worldInfo, final int x, final int y, final int z) { -+ return org.bukkit.craftbukkit.block.CraftBlock.biomeBaseToBiome(biomeRegistry, ++ return org.bukkit.craftbukkit.block.CraftBiome.minecraftHolderToBukkit( + CraftWorldInfo.this.vanillaChunkGenerator.getBiomeSource().getNoiseBiome(x >> 2, y >> 2, z >> 2, randomState.sampler())); + } + diff --git a/patches/server/0754-Multi-Block-Change-API-Implementation.patch b/patches/server/0754-Multi-Block-Change-API-Implementation.patch index b1439fff6d..a5b0a3f791 100644 --- a/patches/server/0754-Multi-Block-Change-API-Implementation.patch +++ b/patches/server/0754-Multi-Block-Change-API-Implementation.patch @@ -24,7 +24,7 @@ index f96d61bdeb556665d6e6e5023f9d77fd82204e89..e3f355c85eb7cc8c1683e3009502c10a public void write(FriendlyByteBuf buf) { buf.writeLong(this.sectionPos.asLong()); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 471f25a82a109a58c4093d3a834d8131357c32da..5b9701ef6d2e6ba42d5459add9d3b6370df80f5a 100644 +index 18f37eff3c60c52580d49c3398e5ef01245b4412..16f3381e9cc42c7747199e7c178bd071b798f0e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -891,6 +891,32 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0756-Freeze-Tick-Lock-API.patch b/patches/server/0756-Freeze-Tick-Lock-API.patch index bd658e6164..7d43ff10ef 100644 --- a/patches/server/0756-Freeze-Tick-Lock-API.patch +++ b/patches/server/0756-Freeze-Tick-Lock-API.patch @@ -59,10 +59,10 @@ index 2a23448e756199b631355cd10b567ea1d54caa37..7b4a04193f783a077cfec47887fc6b76 if (this.isInPowderSnow && this.canFreeze()) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index f05d8107368e639adf60f3e5d944c65300087a3c..87c303ff576cd05291d50d5676e86ca93a13b301 100644 +index e4c587d6304492d936ec3d84303c4cf3b093a2b0..03142d4eaa3ebdf590ec1131f28690da9c6fe748 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -669,6 +669,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -668,6 +668,17 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.getHandle().isFullyFrozen(); } diff --git a/patches/server/0758-More-PotionEffectType-API.patch b/patches/server/0758-More-PotionEffectType-API.patch index 8a94899c11..dc8c655c09 100644 --- a/patches/server/0758-More-PotionEffectType-API.patch +++ b/patches/server/0758-More-PotionEffectType-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] More PotionEffectType API diff --git a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java -index 8f63c21186d8daa290286676bc2478d8629c533b..11e3480fec6dfaeeae08009723ffa5e4d2a93283 100644 +index 8f63c21186d8daa290286676bc2478d8629c533b..f05cbb27563fc5287875764b183c485c14589423 100644 --- a/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java +++ b/src/main/java/org/bukkit/craftbukkit/potion/CraftPotionEffectType.java @@ -128,4 +128,51 @@ public class CraftPotionEffectType extends PotionEffectType { @@ -25,7 +25,7 @@ index 8f63c21186d8daa290286676bc2478d8629c533b..11e3480fec6dfaeeae08009723ffa5e4 + final java.util.Map attributeMap = new java.util.HashMap<>(); + this.handle.getAttributeModifiers().forEach((attribute, attributeModifier) -> { + attributeMap.put( -+ org.bukkit.craftbukkit.attribute.CraftAttributeMap.fromMinecraft(attribute.toString()), ++ org.bukkit.craftbukkit.attribute.CraftAttribute.stringToBukkit(attribute.toString()), + // use zero as amplifier to get the base amount, as it is amount = base * (amplifier + 1) + org.bukkit.craftbukkit.attribute.CraftAttributeInstance.convert(attributeModifier.create(0)) + ); @@ -36,7 +36,7 @@ index 8f63c21186d8daa290286676bc2478d8629c533b..11e3480fec6dfaeeae08009723ffa5e4 + @Override + public double getAttributeModifierAmount(org.bukkit.attribute.Attribute attribute, int effectAmplifier) { + com.google.common.base.Preconditions.checkArgument(effectAmplifier >= 0, "effectAmplifier must be greater than or equal to 0"); -+ net.minecraft.world.entity.ai.attributes.Attribute nmsAttribute = org.bukkit.craftbukkit.attribute.CraftAttributeMap.toMinecraft(attribute); ++ net.minecraft.world.entity.ai.attributes.Attribute nmsAttribute = org.bukkit.craftbukkit.attribute.CraftAttribute.bukkitToMinecraft(attribute); + com.google.common.base.Preconditions.checkArgument(this.handle.getAttributeModifiers().containsKey(nmsAttribute), attribute + " is not present on " + this.getKey()); + return this.handle.getAttributeModifiers().get(nmsAttribute).create(effectAmplifier).getAmount(); + } diff --git a/patches/server/0760-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0760-API-for-creating-command-sender-which-forwards-feedb.patch index 58661a78dc..4761ed8ae4 100644 --- a/patches/server/0760-API-for-creating-command-sender-which-forwards-feedb.patch +++ b/patches/server/0760-API-for-creating-command-sender-which-forwards-feedb.patch @@ -122,10 +122,10 @@ index 0000000000000000000000000000000000000000..e3a5f1ec376319bdfda87fa27ae217bf + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7efd83f26c26166e51f7c2c6f08cf83291db61c0..bb57e6653bea7a465eec5c2eba68f2f08611a391 100644 +index 02faa85848ab286c7219f09e0b2048fdad0cd005..d68b4ee993b2b239900f60ab08da4bfba121892a 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2015,6 +2015,13 @@ public final class CraftServer implements Server { +@@ -2014,6 +2014,13 @@ public final class CraftServer implements Server { return console.console; } diff --git a/patches/server/0762-Implement-regenerateChunk.patch b/patches/server/0762-Implement-regenerateChunk.patch index 7b18c96983..f8c44cd020 100644 --- a/patches/server/0762-Implement-regenerateChunk.patch +++ b/patches/server/0762-Implement-regenerateChunk.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Implement regenerateChunk Co-authored-by: Jason Penilla <11360596+jpenilla@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 6b111e7397af92ac6e80001b783e42a26186b930..4c53a4188d20cc1d8c2de25485aa1cd25fb9d08e 100644 +index e138428fe35c075cfffcc931b53f836129307154..8e382e4affddd416d12fa8687056ea8545b8f5e4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -141,6 +141,7 @@ import org.jetbrains.annotations.NotNull; @@ -17,7 +17,7 @@ index 6b111e7397af92ac6e80001b783e42a26186b930..4c53a4188d20cc1d8c2de25485aa1cd2 private final ServerLevel world; private WorldBorder worldBorder; -@@ -426,27 +427,61 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -425,27 +426,61 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean regenerateChunk(int x, int z) { org.spigotmc.AsyncCatcher.catchOp("chunk regenerate"); // Spigot diff --git a/patches/server/0764-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0764-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch index 5d052d796c..5c0b4acf11 100644 --- a/patches/server/0764-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch +++ b/patches/server/0764-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add missing Validate calls to CraftServer#getSpawnLimit Copies appropriate checks from CraftWorld#getSpawnLimit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index bb57e6653bea7a465eec5c2eba68f2f08611a391..62d9ad45da897e7e336f12a49d1225dff5f089d0 100644 +index d68b4ee993b2b239900f60ab08da4bfba121892a..26dad89a499aeb4d789bdc02a844e47d87510654 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2192,6 +2192,8 @@ public final class CraftServer implements Server { +@@ -2191,6 +2191,8 @@ public final class CraftServer implements Server { @Override public int getSpawnLimit(SpawnCategory spawnCategory) { // Paper start diff --git a/patches/server/0765-Add-GameEvent-tags.patch b/patches/server/0765-Add-GameEvent-tags.patch index d34eff7b13..b11fa8dab1 100644 --- a/patches/server/0765-Add-GameEvent-tags.patch +++ b/patches/server/0765-Add-GameEvent-tags.patch @@ -46,10 +46,10 @@ index 0000000000000000000000000000000000000000..e7d9fd2702a1ce96596580fff8f5ee4f + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 62d9ad45da897e7e336f12a49d1225dff5f089d0..69e5d0359a967bb766c189a89780f3743e33fcf4 100644 +index 26dad89a499aeb4d789bdc02a844e47d87510654..127870bd5c3d180921fd011e64a480a36b1ca672 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2613,6 +2613,15 @@ public final class CraftServer implements Server { +@@ -2612,6 +2612,15 @@ public final class CraftServer implements Server { return (org.bukkit.Tag) new CraftEntityTag(BuiltInRegistries.ENTITY_TYPE, entityTagKey); } } @@ -65,7 +65,7 @@ index 62d9ad45da897e7e336f12a49d1225dff5f089d0..69e5d0359a967bb766c189a89780f374 default -> throw new IllegalArgumentException(); } -@@ -2645,6 +2654,13 @@ public final class CraftServer implements Server { +@@ -2644,6 +2653,13 @@ public final class CraftServer implements Server { net.minecraft.core.Registry> entityTags = BuiltInRegistries.ENTITY_TYPE; return entityTags.getTags().map(pair -> (org.bukkit.Tag) new CraftEntityTag(entityTags, pair.getFirst())).collect(ImmutableList.toImmutableList()); } diff --git a/patches/server/0771-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0771-Put-world-into-worldlist-before-initing-the-world.patch index d22b969011..30bab8b67d 100644 --- a/patches/server/0771-Put-world-into-worldlist-before-initing-the-world.patch +++ b/patches/server/0771-Put-world-into-worldlist-before-initing-the-world.patch @@ -23,10 +23,10 @@ index 7d944606f7e136aa60a0ea376ef325887bd4e6a8..e7bd891260ad4c95c6161542e6d1412c if (worlddata.getCustomBossEvents() != null) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 69e5d0359a967bb766c189a89780f3743e33fcf4..94526278422fc42a5893bec0bf96af707ae67c17 100644 +index 127870bd5c3d180921fd011e64a480a36b1ca672..bce73a95b57e4285756b2bc9a557760ae2b976e6 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1253,10 +1253,11 @@ public final class CraftServer implements Server { +@@ -1252,10 +1252,11 @@ public final class CraftServer implements Server { return null; } diff --git a/patches/server/0773-Custom-Potion-Mixes.patch b/patches/server/0773-Custom-Potion-Mixes.patch index 65c24723e3..feb6090e70 100644 --- a/patches/server/0773-Custom-Potion-Mixes.patch +++ b/patches/server/0773-Custom-Potion-Mixes.patch @@ -164,10 +164,10 @@ index 424406d2692856cfd82b6f3b7b6228fa3bd20c2f..c57efcb9a79337ec791e4e8f6671612f @Override diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 94526278422fc42a5893bec0bf96af707ae67c17..f8d31fdbacf23a366ccbea4d96157fab3d0c3b88 100644 +index bce73a95b57e4285756b2bc9a557760ae2b976e6..fc02629cc39e0207bbb2ebbe829eb9829f9246b4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -307,6 +307,7 @@ public final class CraftServer implements Server { +@@ -306,6 +306,7 @@ public final class CraftServer implements Server { private final io.papermc.paper.datapack.PaperDatapackManager datapackManager; // Paper public static Exception excessiveVelEx; // Paper - Velocity warnings private final io.papermc.paper.logging.SysoutCatcher sysoutCatcher = new io.papermc.paper.logging.SysoutCatcher(); // Paper @@ -175,7 +175,7 @@ index 94526278422fc42a5893bec0bf96af707ae67c17..f8d31fdbacf23a366ccbea4d96157fab static { ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); -@@ -336,7 +337,7 @@ public final class CraftServer implements Server { +@@ -335,7 +336,7 @@ public final class CraftServer implements Server { Enchantments.SHARPNESS.getClass(); org.bukkit.enchantments.Enchantment.stopAcceptingRegistrations(); @@ -184,7 +184,7 @@ index 94526278422fc42a5893bec0bf96af707ae67c17..f8d31fdbacf23a366ccbea4d96157fab MobEffects.BLINDNESS.getClass(); PotionEffectType.stopAcceptingRegistrations(); // Ugly hack :( -@@ -2972,5 +2973,10 @@ public final class CraftServer implements Server { +@@ -2971,5 +2972,10 @@ public final class CraftServer implements Server { return datapackManager; } diff --git a/patches/server/0775-Fix-falling-block-spawn-methods.patch b/patches/server/0775-Fix-falling-block-spawn-methods.patch index 316145f840..93652a8e6f 100644 --- a/patches/server/0775-Fix-falling-block-spawn-methods.patch +++ b/patches/server/0775-Fix-falling-block-spawn-methods.patch @@ -11,10 +11,10 @@ Restores the API behavior from previous versions of the server public net.minecraft.world.entity.item.FallingBlockEntity (Lnet/minecraft/world/level/Level;DDDLnet/minecraft/world/level/block/state/BlockState;)V diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 977012bfa4c42d619f2e9729c2be032999c403f7..5ca1bc3a0574c1080cb000245dbc8fa093ee7d01 100644 +index c0186224fd64d70770a0e16752d17c0870121d8f..30a893f7f63961b752e043b81dda20d946cd63aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -598,7 +598,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -599,7 +599,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { // Paper end } else if (FallingBlock.class.isAssignableFrom(clazz)) { BlockPos pos = BlockPos.containing(x, y, z); @@ -24,10 +24,10 @@ index 977012bfa4c42d619f2e9729c2be032999c403f7..5ca1bc3a0574c1080cb000245dbc8fa0 if (Snowball.class.isAssignableFrom(clazz)) { entity = new net.minecraft.world.entity.projectile.Snowball(world, x, y, z); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 4c53a4188d20cc1d8c2de25485aa1cd25fb9d08e..73069a5cdb42d6bc3db5c02f0b668af69e786501 100644 +index 8e382e4affddd416d12fa8687056ea8545b8f5e4..6993a7ec68ee0807ffb1d07667af1323a20b0bf7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1392,7 +1392,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1391,7 +1391,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { Preconditions.checkArgument(material != null, "Material cannot be null"); Preconditions.checkArgument(material.isBlock(), "Material.%s must be a block", material); @@ -41,7 +41,7 @@ index 4c53a4188d20cc1d8c2de25485aa1cd25fb9d08e..73069a5cdb42d6bc3db5c02f0b668af6 return (FallingBlock) entity.getBukkitEntity(); } -@@ -1401,7 +1406,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1400,7 +1405,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { Preconditions.checkArgument(location != null, "Location cannot be null"); Preconditions.checkArgument(data != null, "BlockData cannot be null"); diff --git a/patches/server/0778-More-Projectile-API.patch b/patches/server/0778-More-Projectile-API.patch index c6456c13f2..e1ba9d1fe9 100644 --- a/patches/server/0778-More-Projectile-API.patch +++ b/patches/server/0778-More-Projectile-API.patch @@ -116,7 +116,7 @@ index 40e5b19bc8fa3de3b3d54da0762aee5bd7bb8d7b..b3814bd6c6d6aae090fe417696535ed1 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java -index 5056ec1ad51be9209591d34d32d256c350feed63..9f30946c7a198e2a277b65c02fcd75570c5dbad6 100644 +index 5056ec1ad51be9209591d34d32d256c350feed63..96a20efc60efef4485eca9ebffed92dc195ed357 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftArrow.java @@ -58,20 +58,7 @@ public class CraftArrow extends AbstractProjectile implements AbstractArrow { @@ -158,12 +158,12 @@ index 5056ec1ad51be9209591d34d32d256c350feed63..9f30946c7a198e2a277b65c02fcd7557 + @org.jetbrains.annotations.NotNull + @Override + public org.bukkit.Sound getHitSound() { -+ return org.bukkit.craftbukkit.CraftSound.getBukkit(this.getHandle().soundEvent); ++ return org.bukkit.craftbukkit.CraftSound.minecraftToBukkit(this.getHandle().soundEvent); + } + + @Override + public void setHitSound(@org.jetbrains.annotations.NotNull org.bukkit.Sound sound) { -+ this.getHandle().setSoundEvent(org.bukkit.craftbukkit.CraftSound.getSoundEffect(sound)); ++ this.getHandle().setSoundEvent(org.bukkit.craftbukkit.CraftSound.bukkitToMinecraft(sound)); + } + @Override diff --git a/patches/server/0781-Implement-getComputedBiome-API.patch b/patches/server/0781-Implement-getComputedBiome-API.patch index af32f7bebc..9644f0562d 100644 --- a/patches/server/0781-Implement-getComputedBiome-API.patch +++ b/patches/server/0781-Implement-getComputedBiome-API.patch @@ -5,17 +5,17 @@ Subject: [PATCH] Implement getComputedBiome API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 5ca1bc3a0574c1080cb000245dbc8fa093ee7d01..5be114bc70c6fdbcb7d804e7558a5172c4461b96 100644 +index 30a893f7f63961b752e043b81dda20d946cd63aa..57bb76050919d187adef4bfa8b21416a70867d23 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -220,6 +220,13 @@ public abstract class CraftRegionAccessor implements RegionAccessor { - return CraftBlock.biomeBaseToBiome(this.getHandle().registryAccess().registryOrThrow(Registries.BIOME), this.getHandle().getNoiseBiome(x >> 2, y >> 2, z >> 2)); +@@ -221,6 +221,13 @@ public abstract class CraftRegionAccessor implements RegionAccessor { + return CraftBiome.minecraftHolderToBukkit(this.getHandle().getNoiseBiome(x >> 2, y >> 2, z >> 2)); } + // Paper start + @Override + public Biome getComputedBiome(int x, int y, int z) { -+ return CraftBlock.biomeBaseToBiome(this.getHandle().registryAccess().registryOrThrow(Registries.BIOME), this.getHandle().getBiome(new BlockPos(x, y, z))); ++ return CraftBiome.minecraftHolderToBukkit(this.getHandle().getBiome(new BlockPos(x, y, z))); + } + // Paper end + @@ -23,10 +23,10 @@ index 5ca1bc3a0574c1080cb000245dbc8fa093ee7d01..5be114bc70c6fdbcb7d804e7558a5172 public void setBiome(Location location, Biome biome) { this.setBiome(location.getBlockX(), location.getBlockY(), location.getBlockZ(), biome); diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index e649c3296363ea2f8429593e33a7833143bcabba..0a3fa0f75d2d9f09be8c29d35cb22953ceb8906b 100644 +index 5fa6a77ccd01deb929d86efc227439f4f280ba53..8fb44799c3273841ffc0996aa8984513e391c70d 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -344,6 +344,13 @@ public class CraftBlock implements Block { +@@ -339,6 +339,13 @@ public class CraftBlock implements Block { return this.getWorld().getBiome(this.getX(), this.getY(), this.getZ()); } @@ -41,7 +41,7 @@ index e649c3296363ea2f8429593e33a7833143bcabba..0a3fa0f75d2d9f09be8c29d35cb22953 public void setBiome(Biome bio) { this.getWorld().setBiome(this.getX(), this.getY(), this.getZ(), bio); diff --git a/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java b/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java -index 23ffe4b8a19286543e12bf7408879e6d1305a78f..935bca901f0618d77f3bf6c057bcbc606c742fac 100644 +index 5830635e96ab9e10320f790f17a3b345c690ff85..881de6bf2edf74783fc3faaf0d6b08e49c32334f 100644 --- a/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java +++ b/src/main/java/org/bukkit/craftbukkit/generator/CraftLimitedRegion.java @@ -165,6 +165,14 @@ public class CraftLimitedRegion extends CraftRegionAccessor implements LimitedRe diff --git a/patches/server/0783-Implement-enchantWithLevels-API.patch b/patches/server/0783-Implement-enchantWithLevels-API.patch index 6999d72cfe..ab96d4c51c 100644 --- a/patches/server/0783-Implement-enchantWithLevels-API.patch +++ b/patches/server/0783-Implement-enchantWithLevels-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement enchantWithLevels API diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 3b02bf4e5b657af9debb432ab412fe50e1f7b922..4c0b250bb9e3cf52173b563b36fd27d9e893e154 100644 +index 48a88dae70fdf2757537d4a90aa60046e6346323..6e91c7ccc36e088be60739dd71b287f0b922a055 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -458,6 +458,21 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/patches/server/0784-Fix-saving-in-unloadWorld.patch b/patches/server/0784-Fix-saving-in-unloadWorld.patch index 16014f9a59..d0978c07dd 100644 --- a/patches/server/0784-Fix-saving-in-unloadWorld.patch +++ b/patches/server/0784-Fix-saving-in-unloadWorld.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Fix saving in unloadWorld Change savingDisabled to false to ensure ServerLevel's saving logic gets called when unloadWorld is called with save = true diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index f8d31fdbacf23a366ccbea4d96157fab3d0c3b88..a2b2d054232ba74935e94b899dc3944cbe374bbf 100644 +index fc02629cc39e0207bbb2ebbe829eb9829f9246b4..734e558bf61ca04b51fd3ae7f71cd5a9c1192725 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1301,7 +1301,7 @@ public final class CraftServer implements Server { +@@ -1300,7 +1300,7 @@ public final class CraftServer implements Server { try { if (save) { diff --git a/patches/server/0787-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/server/0787-Fix-new-block-data-for-EntityChangeBlockEvent.patch index 729df02c4d..ba9af2dff6 100644 --- a/patches/server/0787-Fix-new-block-data-for-EntityChangeBlockEvent.patch +++ b/patches/server/0787-Fix-new-block-data-for-EntityChangeBlockEvent.patch @@ -196,7 +196,7 @@ index b13d89b1516130507402cd3b4bdb9f3c2a36e807..936644ec4a57e51a1c11a5bf4e8449ab } // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index f171124710b5e731652df0074fe24360239225b2..5a2fc10fb677291df95fceccff734cb9a78c81d6 100644 +index 6c7f7ae5208e9fa58694f202f048d2f3524b27a4..2581c8f91e6c7eca246d11220cba0187b9a2143f 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1385,11 +1385,11 @@ public class CraftEventFactory { diff --git a/patches/server/0791-cache-resource-keys.patch b/patches/server/0791-cache-resource-keys.patch index c36993cac8..d444813b7a 100644 --- a/patches/server/0791-cache-resource-keys.patch +++ b/patches/server/0791-cache-resource-keys.patch @@ -4,38 +4,48 @@ Date: Sun, 20 Mar 2022 22:06:47 -0700 Subject: [PATCH] cache resource keys -diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index 0a3fa0f75d2d9f09be8c29d35cb22953ceb8906b..df104b1f7753d98318a5cc511c6e0e1c68e5c277 100644 ---- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -+++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -369,12 +369,13 @@ public class CraftBlock implements Block { - return (biome == null) ? Biome.CUSTOM : biome; +diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java +index 95b956802f83b583a823fcd24808363775a56842..33d2e89ac40465b0c4633f9c51378b80f7c397a9 100644 +--- a/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java ++++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBiome.java +@@ -3,6 +3,7 @@ package org.bukkit.craftbukkit.block; + import com.google.common.base.Preconditions; + import net.minecraft.core.Holder; + import net.minecraft.core.registries.Registries; ++import net.minecraft.resources.ResourceKey; + import org.bukkit.Registry; + import org.bukkit.block.Biome; + import org.bukkit.craftbukkit.CraftRegistry; +@@ -27,13 +28,14 @@ public class CraftBiome { + return CraftBiome.minecraftToBukkit(minecraft.value()); } -+ private static final java.util.Map> BIOME_KEY_CACHE = Collections.synchronizedMap(new java.util.EnumMap<>(Biome.class)); // Paper - public static Holder biomeToBiomeBase(net.minecraft.core.Registry registry, Biome bio) { - if (bio == null || bio == Biome.CUSTOM) { ++ private static final java.util.Map> BIOME_KEY_CACHE = java.util.Collections.synchronizedMap(new java.util.EnumMap<>(Biome.class)); // Paper + public static net.minecraft.world.level.biome.Biome bukkitToMinecraft(Biome bukkit) { + if (bukkit == null || bukkit == Biome.CUSTOM) { return null; } -- return registry.getHolderOrThrow(ResourceKey.create(Registries.BIOME, CraftNamespacedKey.toMinecraft(bio.getKey()))); -+ return registry.getHolderOrThrow(BIOME_KEY_CACHE.computeIfAbsent(bio, b -> ResourceKey.create(Registries.BIOME, CraftNamespacedKey.toMinecraft(b.getKey())))); // Paper - cache key + return CraftRegistry.getMinecraftRegistry(Registries.BIOME) +- .getOptional(CraftNamespacedKey.toMinecraft(bukkit.getKey())).orElseThrow(); ++ .getOptional(BIOME_KEY_CACHE.computeIfAbsent(bukkit, b -> ResourceKey.create(Registries.BIOME, CraftNamespacedKey.toMinecraft(b.getKey())))).orElseThrow(); } - @Override -diff --git a/src/main/java/org/bukkit/craftbukkit/tag/CraftEntityTag.java b/src/main/java/org/bukkit/craftbukkit/tag/CraftEntityTag.java -index e0bf615fb1b99abbab2be55a4ee345204b36e218..7b3b12b4b2f5dbd37e23a7f5a0ad2abd04d259e2 100644 ---- a/src/main/java/org/bukkit/craftbukkit/tag/CraftEntityTag.java -+++ b/src/main/java/org/bukkit/craftbukkit/tag/CraftEntityTag.java -@@ -16,9 +16,10 @@ public class CraftEntityTag extends CraftTag bukkitToMinecraftHolder(Biome bukkit) { +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java +index 198f51b297aa65dad665a637b4a71036491406bc..18ef90b574dca82c1729868a83612ca06a6ccdce 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntityType.java +@@ -20,10 +20,10 @@ public class CraftEntityType { + return bukkit; } -+ private static final java.util.Map>> KEY_CACHE = java.util.Collections.synchronizedMap(new java.util.EnumMap<>(EntityType.class)); // Paper - @Override - public boolean isTagged(EntityType entity) { -- return registry.getHolderOrThrow(ResourceKey.create(Registries.ENTITY_TYPE, CraftNamespacedKey.toMinecraft(entity.getKey()))).is(tag); -+ return registry.getHolderOrThrow(KEY_CACHE.computeIfAbsent(entity, type -> ResourceKey.create(Registries.ENTITY_TYPE, CraftNamespacedKey.toMinecraft(type.getKey())))).is(tag); // Paper - cache key ++ private static final java.util.Map>> KEY_CACHE = java.util.Collections.synchronizedMap(new java.util.EnumMap<>(EntityType.class)); // Paper + public static net.minecraft.world.entity.EntityType bukkitToMinecraft(EntityType bukkit) { + Preconditions.checkArgument(bukkit != null); +- + return CraftRegistry.getMinecraftRegistry(Registries.ENTITY_TYPE) +- .getOptional(CraftNamespacedKey.toMinecraft(bukkit.getKey())).orElseThrow(); ++ .getOptional(KEY_CACHE.computeIfAbsent(bukkit, type -> net.minecraft.resources.ResourceKey.create(Registries.ENTITY_TYPE, CraftNamespacedKey.toMinecraft(type.getKey())))).orElseThrow(); } - - @Override + } diff --git a/patches/server/0798-Pass-ServerLevel-for-gamerule-callbacks.patch b/patches/server/0798-Pass-ServerLevel-for-gamerule-callbacks.patch index 50d9b37876..a58d230a06 100644 --- a/patches/server/0798-Pass-ServerLevel-for-gamerule-callbacks.patch +++ b/patches/server/0798-Pass-ServerLevel-for-gamerule-callbacks.patch @@ -167,10 +167,10 @@ index 2e240ad721928a9a68370114ba61c21884ef1472..1a72fc5368731be617f9cab72e9e756d this.onChanged(server); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 73069a5cdb42d6bc3db5c02f0b668af69e786501..50820bf2a2050985947005ce682e27d11f587584 100644 +index 6993a7ec68ee0807ffb1d07667af1323a20b0bf7..a36fb1cf5970eaf7b9aaea9bee5de7f6bad1494c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1945,7 +1945,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1944,7 +1944,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Paper end GameRules.Value handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule)); handle.deserialize(event.getValue()); // Paper @@ -179,7 +179,7 @@ index 73069a5cdb42d6bc3db5c02f0b668af69e786501..50820bf2a2050985947005ce682e27d1 return true; } -@@ -1986,7 +1986,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1985,7 +1985,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Paper end GameRules.Value handle = this.getHandle().getGameRules().getRule(CraftWorld.getGameRulesNMS().get(rule.getName())); handle.deserialize(event.getValue()); // Paper diff --git a/patches/server/0800-WorldCreator-keepSpawnLoaded.patch b/patches/server/0800-WorldCreator-keepSpawnLoaded.patch index b473333506..866f96bd2f 100644 --- a/patches/server/0800-WorldCreator-keepSpawnLoaded.patch +++ b/patches/server/0800-WorldCreator-keepSpawnLoaded.patch @@ -5,10 +5,10 @@ Subject: [PATCH] WorldCreator#keepSpawnLoaded diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a2b2d054232ba74935e94b899dc3944cbe374bbf..a264f215c65eab124dc420be92cdd5bee26e0fdd 100644 +index 734e558bf61ca04b51fd3ae7f71cd5a9c1192725..5649690f26ffdb5ae9b3bd7a94840896bb24f339 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1260,6 +1260,7 @@ public final class CraftServer implements Server { +@@ -1259,6 +1259,7 @@ public final class CraftServer implements Server { internal.setSpawnSettings(true, true); // Paper - move up diff --git a/patches/server/0811-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0811-Fix-OfflinePlayer-getBedSpawnLocation.patch index 13111af547..0c622e6685 100644 --- a/patches/server/0811-Fix-OfflinePlayer-getBedSpawnLocation.patch +++ b/patches/server/0811-Fix-OfflinePlayer-getBedSpawnLocation.patch @@ -8,7 +8,7 @@ instance of CraftOfflinePlayer the world was incorrect due to the logic for reading the NBT not being up-to-date. diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index f572a74b85df36a6da76b78ec29d807273867537..aa070258c1f2546ac68869cb62c8752c80c758ab 100644 +index 779b6bac307e252fe614cfce958d2eeed94c5f77..3762230eeee47114f683dfa428a8e55cf2f42b48 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java @@ -36,6 +36,7 @@ import org.bukkit.profile.PlayerProfile; diff --git a/patches/server/0816-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0816-Throw-exception-on-world-create-while-being-ticked.patch index 7b89c12c6c..a5c75ad33c 100644 --- a/patches/server/0816-Throw-exception-on-world-create-while-being-ticked.patch +++ b/patches/server/0816-Throw-exception-on-world-create-while-being-ticked.patch @@ -45,10 +45,10 @@ index a197fa2864382363860b4a3db8160ed64f928df7..dd05048c5c9c37002708f0eee4e4fa0f this.profiler.popPush("connection"); MinecraftTimings.connectionTimer.startTiming(); // Spigot diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a264f215c65eab124dc420be92cdd5bee26e0fdd..2e734dea30809bed1b11905a34e54ab5fe65b6f6 100644 +index 5649690f26ffdb5ae9b3bd7a94840896bb24f339..b578cc60ae18fde838876dfe515f2d0f60948d46 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -877,6 +877,11 @@ public final class CraftServer implements Server { +@@ -876,6 +876,11 @@ public final class CraftServer implements Server { return new ArrayList(this.worlds.values()); } @@ -60,7 +60,7 @@ index a264f215c65eab124dc420be92cdd5bee26e0fdd..2e734dea30809bed1b11905a34e54ab5 public DedicatedPlayerList getHandle() { return this.playerList; } -@@ -1136,6 +1141,7 @@ public final class CraftServer implements Server { +@@ -1135,6 +1140,7 @@ public final class CraftServer implements Server { @Override public World createWorld(WorldCreator creator) { Preconditions.checkState(this.console.getAllLevels().iterator().hasNext(), "Cannot create additional worlds on STARTUP"); @@ -68,7 +68,7 @@ index a264f215c65eab124dc420be92cdd5bee26e0fdd..2e734dea30809bed1b11905a34e54ab5 Preconditions.checkArgument(creator != null, "WorldCreator cannot be null"); String name = creator.name(); -@@ -1275,6 +1281,7 @@ public final class CraftServer implements Server { +@@ -1274,6 +1280,7 @@ public final class CraftServer implements Server { @Override public boolean unloadWorld(World world, boolean save) { diff --git a/patches/server/0818-Dont-resent-entity-on-art-update.patch b/patches/server/0818-Dont-resent-entity-on-art-update.patch index aa24ac355d..4ce24fc14e 100644 --- a/patches/server/0818-Dont-resent-entity-on-art-update.patch +++ b/patches/server/0818-Dont-resent-entity-on-art-update.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Dont resent entity on art update diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPainting.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPainting.java -index be722f9c7f14270a29b1d3694c905426520d73c6..7f4b7ce6b85b4774f58be2c9afd4230a821dd9cc 100644 +index e780118d894d5421be8c50c8be02e41603cd0f32..3d13a79f9add2e45db7f8538ee15e0d4e37a1314 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPainting.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPainting.java -@@ -37,7 +37,7 @@ public class CraftPainting extends CraftHanging implements Painting { +@@ -36,7 +36,7 @@ public class CraftPainting extends CraftHanging implements Painting { painting.setDirection(painting.getDirection()); return false; } diff --git a/patches/server/0823-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0823-Don-t-broadcast-messages-to-command-blocks.patch index c0bd53a43f..5fba7c158e 100644 --- a/patches/server/0823-Don-t-broadcast-messages-to-command-blocks.patch +++ b/patches/server/0823-Don-t-broadcast-messages-to-command-blocks.patch @@ -20,10 +20,10 @@ index e05eb08a9c229b371887676da510df948b896a85..ceeedbd88c56c08ec8b047c9ca2f14cc Date date = new Date(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 2e734dea30809bed1b11905a34e54ab5fe65b6f6..8f3c46827225ea8194b7759b5fb5ad7dc6a2bee1 100644 +index b578cc60ae18fde838876dfe515f2d0f60948d46..9cb82440c037e67b5fa5bb9cd6d584b4bfe20cb0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1777,7 +1777,7 @@ public final class CraftServer implements Server { +@@ -1776,7 +1776,7 @@ public final class CraftServer implements Server { // Paper end Set recipients = new HashSet<>(); for (Permissible permissible : this.getPluginManager().getPermissionSubscriptions(permission)) { diff --git a/patches/server/0824-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0824-Prevent-empty-items-from-being-added-to-world.patch index c5e2423361..0e17a2f7d0 100644 --- a/patches/server/0824-Prevent-empty-items-from-being-added-to-world.patch +++ b/patches/server/0824-Prevent-empty-items-from-being-added-to-world.patch @@ -18,16 +18,3 @@ index 4b1e55503e0ca813bc893a3a8258af8ab9a13f18..540fe85572003cb78dda7d996215d26a // Paper start - capture all item additions to the world if (captureDrops != null && entity instanceof net.minecraft.world.entity.item.ItemEntity) { captureDrops.add((net.minecraft.world.entity.item.ItemEntity) entity); -diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index b8db8750125315b15cc3d3e76ee629a60c4546a1..6b3a17e6717b8c03c5bd674771b29e4becd42c71 100644 ---- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -+++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -@@ -520,7 +520,7 @@ public class ItemEntity extends Entity implements TraceableEntity { - } - - public void setItem(ItemStack stack) { -- com.google.common.base.Preconditions.checkArgument(!stack.isEmpty(), "Cannot drop air"); // CraftBukkit -+ // com.google.common.base.Preconditions.checkArgument(!stack.isEmpty(), "Cannot drop air"); // CraftBukkit // Paper - Remove check - this.getEntityData().set(ItemEntity.DATA_ITEM, stack); - this.despawnRate = this.level().paperConfig().entities.spawning.altItemDespawnRate.enabled ? this.level().paperConfig().entities.spawning.altItemDespawnRate.items.getOrDefault(stack.getItem(), this.level().spigotConfig.itemDespawnRate) : this.level().spigotConfig.itemDespawnRate; // Paper - } diff --git a/patches/server/0832-More-Teleport-API.patch b/patches/server/0832-More-Teleport-API.patch index 15b4b71ee9..213f919b8f 100644 --- a/patches/server/0832-More-Teleport-API.patch +++ b/patches/server/0832-More-Teleport-API.patch @@ -31,10 +31,10 @@ index 85651f43ef7c979d3024f168cb9f42956e544a7d..8014c067396dc595ec456847e05615f8 d0 = to.getX(); d1 = to.getY(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 87c303ff576cd05291d50d5676e86ca93a13b301..b19665fd570c86274caef62dc3e365f0e6a7ca8e 100644 +index 03142d4eaa3ebdf590ec1131f28690da9c6fe748..863d5a2c6729f8675b03a0575a7eb69ccaf04f4b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -567,15 +567,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -566,15 +566,36 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @Override public boolean teleport(Location location, TeleportCause cause) { @@ -74,7 +74,7 @@ index 87c303ff576cd05291d50d5676e86ca93a13b301..b19665fd570c86274caef62dc3e365f0 // Let the server handle cross world teleports if (location.getWorld() != null && !location.getWorld().equals(this.getWorld())) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5b9701ef6d2e6ba42d5459add9d3b6370df80f5a..c0b8e37112c6e69fa04d35c39393fde6b780340d 100644 +index 16f3381e9cc42c7747199e7c178bd071b798f0e4..842471eb7dd0d68368e551220922b05b26e476e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1212,13 +1212,101 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0834-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0834-Don-t-use-level-random-in-entity-constructors.patch index 502d940d75..e60ad26bb8 100644 --- a/patches/server/0834-Don-t-use-level-random-in-entity-constructors.patch +++ b/patches/server/0834-Don-t-use-level-random-in-entity-constructors.patch @@ -31,7 +31,7 @@ index e06d5eea4bc81be264a1f5d5fad2d4548c4ae8d2..55026e1731e41b4e3e4c6a8fef5d96a3 } diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 6b3a17e6717b8c03c5bd674771b29e4becd42c71..22d29a2e58c5615dcee04ba68752fb76489c8a28 100644 +index d70abca10e84b86310ce5e4d72eb939331dc00e4..1a06d8c839e94fe2c1920035d606b62e0dc5cfba 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -64,7 +64,12 @@ public class ItemEntity extends Entity implements TraceableEntity { diff --git a/patches/server/0836-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0836-Warn-on-plugins-accessing-faraway-chunks.patch index b2390db67a..6a827aa08f 100644 --- a/patches/server/0836-Warn-on-plugins-accessing-faraway-chunks.patch +++ b/patches/server/0836-Warn-on-plugins-accessing-faraway-chunks.patch @@ -18,10 +18,10 @@ index 7e898e34490a47b1c505a67f8d0266384f4e37ff..1531809d6bb80ae1fd50a08a541578f4 private static boolean isOutsideSpawnableHeight(int y) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e50948ee4dab 100644 +index a36fb1cf5970eaf7b9aaea9bee5de7f6bad1494c..efefb334aba5a7dc03fbe210b9528109d31ad3fa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -310,9 +310,24 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -309,9 +309,24 @@ public class CraftWorld extends CraftRegionAccessor implements World { public boolean setSpawnLocation(int x, int y, int z) { return this.setSpawnLocation(x, y, z, 0.0F); } @@ -46,7 +46,7 @@ index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e509 // Paper start - add ticket to hold chunk for a little while longer if plugin accesses it net.minecraft.world.level.chunk.LevelChunk chunk = this.world.getChunkSource().getChunkAtIfLoadedImmediately(x, z); if (chunk == null) { -@@ -427,6 +442,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -426,6 +441,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean regenerateChunk(int x, int z) { org.spigotmc.AsyncCatcher.catchOp("chunk regenerate"); // Spigot @@ -54,7 +54,7 @@ index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e509 // Paper start - implement regenerateChunk method final ServerLevel serverLevel = this.world; final net.minecraft.server.level.ServerChunkCache serverChunkCache = serverLevel.getChunkSource(); -@@ -517,6 +533,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -516,6 +532,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean loadChunk(int x, int z, boolean generate) { org.spigotmc.AsyncCatcher.catchOp("chunk load"); // Spigot @@ -62,7 +62,7 @@ index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e509 // Paper start - Optimize this method ChunkPos chunkPos = new ChunkPos(x, z); ChunkAccess immediate = world.getChunkSource().getChunkAtIfLoadedImmediately(x, z); // Paper -@@ -580,6 +597,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -579,6 +596,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public boolean addPluginChunkTicket(int x, int z, Plugin plugin) { @@ -70,7 +70,7 @@ index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e509 Preconditions.checkArgument(plugin != null, "null plugin"); Preconditions.checkArgument(plugin.isEnabled(), "plugin is not enabled"); -@@ -648,6 +666,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -647,6 +665,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public void setChunkForceLoaded(int x, int z, boolean forced) { @@ -78,7 +78,7 @@ index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e509 this.getHandle().setChunkForced(x, z, forced); } -@@ -960,6 +979,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -959,6 +978,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @Override public int getHighestBlockYAt(int x, int z, org.bukkit.HeightMap heightMap) { @@ -86,7 +86,7 @@ index 50820bf2a2050985947005ce682e27d11f587584..9707487f2533c30dc1998fafc626e509 // Transient load for this tick return this.world.getChunk(x >> 4, z >> 4).getHeight(CraftHeightMap.toNMS(heightMap), x, z); } -@@ -2371,6 +2391,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2370,6 +2390,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { // Spigot end // Paper start public java.util.concurrent.CompletableFuture getChunkAtAsync(int x, int z, boolean gen, boolean urgent) { diff --git a/patches/server/0837-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0837-Custom-Chat-Completion-Suggestions-API.patch index 3d19341d3e..09e0db6d59 100644 --- a/patches/server/0837-Custom-Chat-Completion-Suggestions-API.patch +++ b/patches/server/0837-Custom-Chat-Completion-Suggestions-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Custom Chat Completion Suggestions API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c0b8e37112c6e69fa04d35c39393fde6b780340d..4fd4f2dee936c9b96b5297e16bb0061f3bfe2579 100644 +index 842471eb7dd0d68368e551220922b05b26e476e2..ff03991672c2ca9d23e370d406a9a138659cf050 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -652,6 +652,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0839-Collision-API.patch b/patches/server/0839-Collision-API.patch index 24c5f6349c..73e98382d8 100644 --- a/patches/server/0839-Collision-API.patch +++ b/patches/server/0839-Collision-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Collision API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 5be114bc70c6fdbcb7d804e7558a5172c4461b96..3b9d7f92f4e47da2d7eb1e9cb9e996ee36b57e4c 100644 +index 57bb76050919d187adef4bfa8b21416a70867d23..254cdf5efe85583c5ef126d46af7c5246daa97c2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -1020,5 +1020,12 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -1021,5 +1021,12 @@ public abstract class CraftRegionAccessor implements RegionAccessor { return this.getHandle().clip(new net.minecraft.world.level.ClipContext(start, end, net.minecraft.world.level.ClipContext.Block.COLLIDER, net.minecraft.world.level.ClipContext.Fluid.NONE, null)).getType() == net.minecraft.world.phys.HitResult.Type.MISS; } @@ -22,10 +22,10 @@ index 5be114bc70c6fdbcb7d804e7558a5172c4461b96..3b9d7f92f4e47da2d7eb1e9cb9e996ee // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index b19665fd570c86274caef62dc3e365f0e6a7ca8e..ba0c1be4f5303bd6a33fd27f4e8c9910a8325695 100644 +index 863d5a2c6729f8675b03a0575a7eb69ccaf04f4b..f4a9b72f76742b128632183720866df9283ca753 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1419,4 +1419,19 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1418,4 +1418,19 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return getHandle().isInPowderSnow || getHandle().wasInPowderSnow; // depending on the location in the entity "tick" either could be needed. } // Paper end diff --git a/patches/server/0841-Block-Ticking-API.patch b/patches/server/0841-Block-Ticking-API.patch index bce0100d29..ea73ea61f0 100644 --- a/patches/server/0841-Block-Ticking-API.patch +++ b/patches/server/0841-Block-Ticking-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Block Ticking API diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index df104b1f7753d98318a5cc511c6e0e1c68e5c277..f3ac362b7b65a5273ff5fdad1d8065c5f654a53a 100644 +index 8fb44799c3273841ffc0996aa8984513e391c70d..e8dd0b9184e164b41cb4b361f23b6925e7670f8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -735,5 +735,21 @@ public class CraftBlock implements Block { +@@ -708,5 +708,21 @@ public class CraftBlock implements Block { public boolean isValidTool(ItemStack itemStack) { return getDrops(itemStack).size() != 0; } @@ -31,10 +31,10 @@ index df104b1f7753d98318a5cc511c6e0e1c68e5c277..f3ac362b7b65a5273ff5fdad1d8065c5 // Paper end } diff --git a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -index f4e37764f714419a614a7e40718924788a204d28..86fb50f946ff57d66c561ba0ee6f1116f63479fb 100644 +index 5b67d4dd280688093d7e36e59e5b2ec6ebdc796c..0bf863f597f3657a0f158756a2a91bda7eb453f6 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java +++ b/src/main/java/org/bukkit/craftbukkit/block/data/CraftBlockData.java -@@ -703,4 +703,11 @@ public class CraftBlockData implements BlockData { +@@ -704,4 +704,11 @@ public class CraftBlockData implements BlockData { return speed; } // Paper end - destroy speed API diff --git a/patches/server/0842-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0842-Add-Velocity-IP-Forwarding-Support.patch index 732f5e4db0..865dde2ada 100644 --- a/patches/server/0842-Add-Velocity-IP-Forwarding-Support.patch +++ b/patches/server/0842-Add-Velocity-IP-Forwarding-Support.patch @@ -215,10 +215,10 @@ index f7ad9f51d4fb45d41c718a97c1fad72504d0c0ad..78810048fde7fd6299cdc99634ba6467 } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 8f3c46827225ea8194b7759b5fb5ad7dc6a2bee1..ef4c259504694d27534834a5d33e78a8d33ece6c 100644 +index 9cb82440c037e67b5fa5bb9cd6d584b4bfe20cb0..3b264f630a28416f0faacafba91e047bfb0f5190 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -806,7 +806,7 @@ public final class CraftServer implements Server { +@@ -805,7 +805,7 @@ public final class CraftServer implements Server { @Override public long getConnectionThrottle() { // Spigot Start - Automatically set connection throttle for bungee configurations diff --git a/patches/server/0844-Add-NamespacedKey-biome-methods.patch b/patches/server/0844-Add-NamespacedKey-biome-methods.patch index 0c72cf2690..2cce9ca951 100644 --- a/patches/server/0844-Add-NamespacedKey-biome-methods.patch +++ b/patches/server/0844-Add-NamespacedKey-biome-methods.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add NamespacedKey biome methods Co-authored-by: Thonk <30448663+ExcessiveAmountsOfZombies@users.noreply.github.com> diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index e169c16626e967c30c6f9a324a40550adf5476dd..58f2eaf81f24f1548bdc9f46528cb4b94b18de69 100644 +index 186959e6e7aef0dada59320d3f180c99a93bc90c..437b331dc1f77d8fda895a42550bfb1035c8c3c1 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -610,6 +610,19 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -591,6 +591,19 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkArgument(material.isBlock(), material + " is not a block"); return getBlock(material).hasCollision; } diff --git a/patches/server/0851-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/server/0851-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch index d88f3876b6..f2fc80e18c 100644 --- a/patches/server/0851-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch +++ b/patches/server/0851-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add a consumer parameter to ProjectileSource#launchProjectile diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 661638716cd4d1b20745f3a196f6d060b3de570c..c45d7e1262534255025392a804c9e4f47213f637 100644 +index 26054a3b4e2609cb68751d6e37bce22df94c46b8..f0d8000915db9ae497dddb09e9bde87a516a1b4b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -509,8 +509,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0854-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0854-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch index c9938548a4..dcc6c03d54 100644 --- a/patches/server/0854-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch +++ b/patches/server/0854-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Mitigate effects of WorldCreator#keepSpawnLoaded ret type TODO: Remove in 1.21? diff --git a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -index b7d09079411f70353f44df3c623a0076367cf603..d2f4d7d129c692d92de74598dd94ea2d6a9f0d28 100644 +index d7495ea25713e959d106764054ce6642af497035..7131ae1fdfd7ac22f8178ff4d6265b4b6c14acb8 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Commodore.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Commodore.java -@@ -466,6 +466,12 @@ public class Commodore +@@ -460,6 +460,12 @@ public class Commodore super.visitMethodInsn(Opcodes.INVOKEVIRTUAL, CB_PACKAGE + "/advancement/CraftAdvancement", "getDisplay0", desc, false); return; } diff --git a/patches/server/0862-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0862-Correctly-handle-interactions-with-items-on-cooldown.patch index 9b591db9fe..8e624ce97f 100644 --- a/patches/server/0862-Correctly-handle-interactions-with-items-on-cooldown.patch +++ b/patches/server/0862-Correctly-handle-interactions-with-items-on-cooldown.patch @@ -30,7 +30,7 @@ index fb7a401269a2ebfc998c14e1957dfd580d444c06..482e6b217c073ceff30c238c3a8cd8ea this.interactResult = event.useItemInHand() == Event.Result.DENY; this.interactPosition = blockposition.immutable(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 5a2fc10fb677291df95fceccff734cb9a78c81d6..4b28ae4a9bc9a295457cfcb84a86705db8f18502 100644 +index 2581c8f91e6c7eca246d11220cba0187b9a2143f..b00547dea90673a43715197bc5873cf94cfbd038 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -544,7 +544,13 @@ public class CraftEventFactory { diff --git a/patches/server/0864-Elder-Guardian-appearance-API.patch b/patches/server/0864-Elder-Guardian-appearance-API.patch index d8cd1b222a..6163706d91 100644 --- a/patches/server/0864-Elder-Guardian-appearance-API.patch +++ b/patches/server/0864-Elder-Guardian-appearance-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Elder Guardian appearance API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4fd4f2dee936c9b96b5297e16bb0061f3bfe2579..a60aa6f6fd00cc52cb7bedcf620b4b665191676d 100644 +index ff03991672c2ca9d23e370d406a9a138659cf050..68f02c0ba6e04ba8bb6433bc2f94d6eed5deeb4a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3170,6 +3170,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0866-Add-entity-knockback-API.patch b/patches/server/0866-Add-entity-knockback-API.patch index 99dda3f088..a7530e45fb 100644 --- a/patches/server/0866-Add-entity-knockback-API.patch +++ b/patches/server/0866-Add-entity-knockback-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add entity knockback API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index c45d7e1262534255025392a804c9e4f47213f637..2477c1be05de15f8210da464787c38cc039891c0 100644 +index f0d8000915db9ae497dddb09e9bde87a516a1b4b..f466b51947e1e6ed9e20ee1e5a0a535e9614efaa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1016,5 +1016,11 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0881-Add-Player-Warden-Warning-API.patch b/patches/server/0881-Add-Player-Warden-Warning-API.patch index 7664022221..37030b6551 100644 --- a/patches/server/0881-Add-Player-Warden-Warning-API.patch +++ b/patches/server/0881-Add-Player-Warden-Warning-API.patch @@ -10,7 +10,7 @@ public net.minecraft.world.entity.monster.warden.WardenSpawnTracker cooldownTick public net.minecraft.world.entity.monster.warden.WardenSpawnTracker increaseWarningLevel()V diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a60aa6f6fd00cc52cb7bedcf620b4b665191676d..b119a4cce62a7fc10b1bf369f0abfa55e4fa9a38 100644 +index 68f02c0ba6e04ba8bb6433bc2f94d6eed5deeb4a..527098dc1761d1e4c3d9adf0a1a3a1483b20ce7f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -3175,6 +3175,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0882-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0882-More-vanilla-friendly-methods-to-update-trades.patch index 0592141896..9c5c52b756 100644 --- a/patches/server/0882-More-vanilla-friendly-methods-to-update-trades.patch +++ b/patches/server/0882-More-vanilla-friendly-methods-to-update-trades.patch @@ -35,10 +35,10 @@ index 84cee8fb09f90424438de336f60d9388da1b39de..f555e29c7f9ea4ddb243a018bdc93d2b public void gossip(ServerLevel world, Villager villager, long time) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index b27b9001b8eb74c713e6766f0919110432775a2e..f29e221e5b850516c169c03bfbd2b0885d1a841b 100644 +index 5e779b7f1ba40e418d24c9d37506420c83bfb3fe..a67b5d20b956e0bf801c9eeb9330567c21927010 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -93,6 +93,34 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { +@@ -95,6 +95,34 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { } // Paper start diff --git a/patches/server/0885-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0885-Fix-async-entity-add-due-to-fungus-trees.patch index 3d040ad44c..b1c3709097 100644 --- a/patches/server/0885-Fix-async-entity-add-due-to-fungus-trees.patch +++ b/patches/server/0885-Fix-async-entity-add-due-to-fungus-trees.patch @@ -17,10 +17,10 @@ index 52fd12c474c01f3b53d0f6596b7a6fafee52bd0d..877498729c66de9aa6a27c9148f7494d BlockEntity tileentity = iblockdata.hasBlockEntity() ? this.getBlockEntity(pos) : null; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 3b9d7f92f4e47da2d7eb1e9cb9e996ee36b57e4c..d8908ba20280d21a2114afebdf13b1a5520e48e7 100644 +index 254cdf5efe85583c5ef126d46af7c5246daa97c2..6f3598c12ad8f5d35863669c1f85b5581aa82a60 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -401,10 +401,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -402,10 +402,10 @@ public abstract class CraftRegionAccessor implements RegionAccessor { ((ChorusFlowerBlock) Blocks.CHORUS_FLOWER).generatePlant(access, pos, random, 8); return true; case CRIMSON_FUNGUS: diff --git a/patches/server/0886-ItemStack-damage-API.patch b/patches/server/0886-ItemStack-damage-API.patch index 3ddc1cb75b..c46fbd71d9 100644 --- a/patches/server/0886-ItemStack-damage-API.patch +++ b/patches/server/0886-ItemStack-damage-API.patch @@ -11,7 +11,7 @@ the logic associated with damaging them public net.minecraft.world.entity.LivingEntity entityEventForEquipmentBreak(Lnet/minecraft/world/entity/EquipmentSlot;)B diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 2477c1be05de15f8210da464787c38cc039891c0..0bd820f556494880926c719981a8d33797ee350d 100644 +index f466b51947e1e6ed9e20ee1e5a0a535e9614efaa..4971f918a014ba418f95a0d438aa3531eeef6908 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1017,6 +1017,53 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0887-Friction-API.patch b/patches/server/0887-Friction-API.patch index ee93938f68..2ac1f34308 100644 --- a/patches/server/0887-Friction-API.patch +++ b/patches/server/0887-Friction-API.patch @@ -54,7 +54,7 @@ index b8174fd81aba6d47d4882fdd442fb3c011b755ac..ac89d89081cde83b700dd7c13930cd14 if (nbt.contains("Attributes", 9) && this.level() != null && !this.level().isClientSide) { this.getAttributes().load(nbt.getList("Attributes", 10)); diff --git a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java -index 22d29a2e58c5615dcee04ba68752fb76489c8a28..d39f31e7cf315c7cdc1daab28164380e44dd8341 100644 +index 1a06d8c839e94fe2c1920035d606b62e0dc5cfba..eb0351aa12eebcefab1d1d14641fc3c60cbbcab8 100644 --- a/src/main/java/net/minecraft/world/entity/item/ItemEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/ItemEntity.java @@ -55,6 +55,7 @@ public class ItemEntity extends Entity implements TraceableEntity { @@ -132,7 +132,7 @@ index d160db37a3b7ef44b6de8fef209eeccef46c3a95..5e83fabb20bc2b0668cbf48530053ca1 public int getHealth() { return item.health; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 0bd820f556494880926c719981a8d33797ee350d..dc6f09332d76b9f23e42fce42a2900d7a3d968a4 100644 +index 4971f918a014ba418f95a0d438aa3531eeef6908..b4b56bebf5308f4dcc51c1a2815f9689a6918b13 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1064,6 +1064,18 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0895-fix-Instruments.patch b/patches/server/0895-fix-Instruments.patch index 8ee99ca334..1810db2e54 100644 --- a/patches/server/0895-fix-Instruments.patch +++ b/patches/server/0895-fix-Instruments.patch @@ -6,46 +6,46 @@ Subject: [PATCH] fix Instruments properly handle Player#playNote diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b119a4cce62a7fc10b1bf369f0abfa55e4fa9a38..ecca4cc87fa3b00ac29db87ee69aaa1a24d4e00f 100644 +index 527098dc1761d1e4c3d9adf0a1a3a1483b20ce7f..99d4c05c20089fb9520813de8a3b2de92b7d3829 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -726,29 +726,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { if (this.getHandle().connection == null) return; -- String instrumentName = switch (instrument.ordinal()) { -- case 0 -> "harp"; -- case 1 -> "basedrum"; -- case 2 -> "snare"; -- case 3 -> "hat"; -- case 4 -> "bass"; -- case 5 -> "flute"; -- case 6 -> "bell"; -- case 7 -> "guitar"; -- case 8 -> "chime"; -- case 9 -> "xylophone"; -- case 10 -> "iron_xylophone"; -- case 11 -> "cow_bell"; -- case 12 -> "didgeridoo"; -- case 13 -> "bit"; -- case 14 -> "banjo"; -- case 15 -> "pling"; -- case 16 -> "xylophone"; +- Sound instrumentSound = switch (instrument.ordinal()) { +- case 0 -> Sound.BLOCK_NOTE_BLOCK_HARP; +- case 1 -> Sound.BLOCK_NOTE_BLOCK_BASEDRUM; +- case 2 -> Sound.BLOCK_NOTE_BLOCK_SNARE; +- case 3 -> Sound.BLOCK_NOTE_BLOCK_HAT; +- case 4 -> Sound.BLOCK_NOTE_BLOCK_BASS; +- case 5 -> Sound.BLOCK_NOTE_BLOCK_FLUTE; +- case 6 -> Sound.BLOCK_NOTE_BLOCK_BELL; +- case 7 -> Sound.BLOCK_NOTE_BLOCK_GUITAR; +- case 8 -> Sound.BLOCK_NOTE_BLOCK_CHIME; +- case 9 -> Sound.BLOCK_NOTE_BLOCK_XYLOPHONE; +- case 10 -> Sound.BLOCK_NOTE_BLOCK_IRON_XYLOPHONE; +- case 11 -> Sound.BLOCK_NOTE_BLOCK_COW_BELL; +- case 12 -> Sound.BLOCK_NOTE_BLOCK_DIDGERIDOO; +- case 13 -> Sound.BLOCK_NOTE_BLOCK_BIT; +- case 14 -> Sound.BLOCK_NOTE_BLOCK_BANJO; +- case 15 -> Sound.BLOCK_NOTE_BLOCK_PLING; +- case 16 -> Sound.BLOCK_NOTE_BLOCK_XYLOPHONE; - default -> null; - }; - - float f = (float) Math.pow(2.0D, (note.getId() - 12.0D) / 12.0D); -- this.getHandle().connection.send(new ClientboundSoundPacket(BuiltInRegistries.SOUND_EVENT.wrapAsHolder(CraftSound.getSoundEffect("block.note_block." + instrumentName)), net.minecraft.sounds.SoundSource.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, this.getHandle().getRandom().nextLong())); +- this.getHandle().connection.send(new ClientboundSoundPacket(CraftSound.bukkitToMinecraftHolder(instrumentSound), net.minecraft.sounds.SoundSource.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, this.getHandle().getRandom().nextLong())); + // Paper start - fix all this (modeled off of NoteBlock) -+ net.minecraft.world.level.block.state.properties.NoteBlockInstrument nms = CraftBlockData.toNMS(instrument, net.minecraft.world.level.block.state.properties.NoteBlockInstrument.class); -+ float f; -+ if (nms.isTunable()) { -+ f = (float) Math.pow(2.0D, (note.getId() - 12.0D) / 12.0D); ++ net.minecraft.world.level.block.state.properties.NoteBlockInstrument noteBlockInstrument = CraftBlockData.toNMS(instrument, net.minecraft.world.level.block.state.properties.NoteBlockInstrument.class); ++ float pitch; ++ if (noteBlockInstrument.isTunable()) { ++ pitch = (float) Math.pow(2.0D, (note.getId() - 12.0D) / 12.0D); + } else { -+ f = 1.0f; ++ pitch = 1.0f; + } -+ if (!nms.hasCustomSound()) { -+ this.getHandle().connection.send(new ClientboundSoundPacket(nms.getSoundEvent(), net.minecraft.sounds.SoundSource.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, f, this.getHandle().getRandom().nextLong())); ++ if (!noteBlockInstrument.hasCustomSound()) { ++ this.getHandle().connection.send(new ClientboundSoundPacket(noteBlockInstrument.getSoundEvent(), net.minecraft.sounds.SoundSource.RECORDS, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(), 3.0f, pitch, this.getHandle().getRandom().nextLong())); + } + // Paper end } diff --git a/patches/server/0899-Add-Sneaking-API-for-Entities.patch b/patches/server/0899-Add-Sneaking-API-for-Entities.patch index e2081bc135..f94fb0ad22 100644 --- a/patches/server/0899-Add-Sneaking-API-for-Entities.patch +++ b/patches/server/0899-Add-Sneaking-API-for-Entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Sneaking API for Entities diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index ba0c1be4f5303bd6a33fd27f4e8c9910a8325695..6915da7ef7f1179f1efb3a959194c573e6b362e9 100644 +index f4a9b72f76742b128632183720866df9283ca753..c612c97ca33b445c019ffa8d5074038f4a624db7 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1202,6 +1202,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1201,6 +1201,18 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return Pose.values()[this.getHandle().getPose().ordinal()]; } diff --git a/patches/server/0905-Flying-Fall-Damage.patch b/patches/server/0905-Flying-Fall-Damage.patch index 8a8aa0a61d..c891e1e6f9 100644 --- a/patches/server/0905-Flying-Fall-Damage.patch +++ b/patches/server/0905-Flying-Fall-Damage.patch @@ -26,7 +26,7 @@ index 6bf59f8e7f23ffabd2c6f739fe0daf9da6246e1d..d58b4c0dbe651b5068212e5f14dce316 } 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 ecca4cc87fa3b00ac29db87ee69aaa1a24d4e00f..3db0278b66d11cf2d7e4c415e859ed39efbec5d7 100644 +index 99d4c05c20089fb9520813de8a3b2de92b7d3829..17c24a282524d73372a95c06a3a37e44a7f1314b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2392,6 +2392,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0906-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch b/patches/server/0906-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch index b0bd1ad9c9..8f3fb0e7f4 100644 --- a/patches/server/0906-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch +++ b/patches/server/0906-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch @@ -130,7 +130,7 @@ index da4609caecc8183d02c301c7cedbca52ed39323f..716021520c228b5bbced525b751f5d41 // See BlockStateFactory#createBlockState(World, BlockPosition, IBlockData, TileEntity) private static CraftBlockState getBlockState(World world, BlockPos blockPosition, net.minecraft.world.level.block.state.BlockState blockData, BlockEntity tileEntity) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 4b28ae4a9bc9a295457cfcb84a86705db8f18502..52875848c97be4569b03f3ebdb02a332da06e361 100644 +index b00547dea90673a43715197bc5873cf94cfbd038..4d96082a3135406f63c6e02e34d8bf6b2d184eb9 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1020,7 +1020,7 @@ public class CraftEventFactory { diff --git a/patches/server/0911-Win-Screen-API.patch b/patches/server/0911-Win-Screen-API.patch index 06a50044be..9e1aea3edc 100644 --- a/patches/server/0911-Win-Screen-API.patch +++ b/patches/server/0911-Win-Screen-API.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Win Screen API public net.minecraft.server.level.ServerPlayer seenCredits diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3db0278b66d11cf2d7e4c415e859ed39efbec5d7..e2dd9441bdcebe0a31f2047b0d704c2b90d32dfa 100644 +index 17c24a282524d73372a95c06a3a37e44a7f1314b..e91b45268d96dfa79cd6472824b203e5250df0a5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1215,6 +1215,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0914-Add-Entity-Body-Yaw-API.patch b/patches/server/0914-Add-Entity-Body-Yaw-API.patch index 084c4be98b..e4d7a9ccab 100644 --- a/patches/server/0914-Add-Entity-Body-Yaw-API.patch +++ b/patches/server/0914-Add-Entity-Body-Yaw-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Entity Body Yaw API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 6915da7ef7f1179f1efb3a959194c573e6b362e9..fd89da8b92492c3b507b68d1040d293977528441 100644 +index c612c97ca33b445c019ffa8d5074038f4a624db7..56fe7baf22b040af77a08b7ebddad3aa8a53185f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1430,6 +1430,31 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1429,6 +1429,31 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isInPowderedSnow() { return getHandle().isInPowderSnow || getHandle().wasInPowderSnow; // depending on the location in the entity "tick" either could be needed. } @@ -41,7 +41,7 @@ index 6915da7ef7f1179f1efb3a959194c573e6b362e9..fd89da8b92492c3b507b68d1040d2939 // Paper Start - Collision API @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index dc6f09332d76b9f23e42fce42a2900d7a3d968a4..22847ea7063a660934515a1108e66f9265f1685f 100644 +index b4b56bebf5308f4dcc51c1a2815f9689a6918b13..e997aebe36436570e2461a4685f0fb371ce4ce14 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -1056,6 +1056,16 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0917-Add-EntityFertilizeEggEvent.patch b/patches/server/0917-Add-EntityFertilizeEggEvent.patch index a55692c021..e2025f7a2c 100644 --- a/patches/server/0917-Add-EntityFertilizeEggEvent.patch +++ b/patches/server/0917-Add-EntityFertilizeEggEvent.patch @@ -69,10 +69,10 @@ index 36b3945832733b5ad66d25aa3a31335234d2acff..47a5125e44cea1ece84657cdb874807f this.playSound(SoundEvents.SNIFFER_EGG_PLOP, 1.0F, (this.random.nextFloat() - this.random.nextFloat()) * 0.2F + 0.5F); } // Paper diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 52875848c97be4569b03f3ebdb02a332da06e361..bdcb1752d0959bbabc17d411f36680bad6669651 100644 +index 4d96082a3135406f63c6e02e34d8bf6b2d184eb9..be120d2d5dd58512a102ea670761b9336a48a8c3 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2049,4 +2049,29 @@ public class CraftEventFactory { +@@ -2051,4 +2051,29 @@ public class CraftEventFactory { return event.callEvent(); } // Paper end diff --git a/patches/server/0937-Add-Mob-Experience-reward-API.patch b/patches/server/0937-Add-Mob-Experience-reward-API.patch index 3c07d5e971..47d2f879f2 100644 --- a/patches/server/0937-Add-Mob-Experience-reward-API.patch +++ b/patches/server/0937-Add-Mob-Experience-reward-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add Mob Experience reward API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java -index 620d918e302a00d5a6640648e3096988d15535a0..18b9b0dc70f6872a9d71c120bcd2edca531b0ac4 100644 +index c526304d31fd9be1b3c895187f7d9fc45edf4866..153e4c88c168097eb4a78650e7c9c120bec202a3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftMob.java @@ -158,4 +158,11 @@ public abstract class CraftMob extends CraftLivingEntity implements Mob { diff --git a/patches/server/0939-Fix-DamageCause-for-Falling-Blocks.patch b/patches/server/0939-Fix-DamageCause-for-Falling-Blocks.patch index 0460fff494..0b43d09dfa 100644 --- a/patches/server/0939-Fix-DamageCause-for-Falling-Blocks.patch +++ b/patches/server/0939-Fix-DamageCause-for-Falling-Blocks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix DamageCause for Falling Blocks diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index bdcb1752d0959bbabc17d411f36680bad6669651..9f012b6ccedc2f325f1cb7ee2d4cb843db4e6a41 100644 +index be120d2d5dd58512a102ea670761b9336a48a8c3..87266f10b5922327060dbe910010e76559be8ca6 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1060,6 +1060,11 @@ public class CraftEventFactory { diff --git a/patches/server/0944-Expand-PlayerItemMendEvent.patch b/patches/server/0944-Expand-PlayerItemMendEvent.patch index 25dc159753..c5799173eb 100644 --- a/patches/server/0944-Expand-PlayerItemMendEvent.patch +++ b/patches/server/0944-Expand-PlayerItemMendEvent.patch @@ -33,7 +33,7 @@ index 8d8fe55a05eea237a8af99ed15ab16d6167daa77..eca634792d2a7cc649675e3394e84dba return k > 0 ? this.repairPlayerItems(player, k) : 0; } else { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e2dd9441bdcebe0a31f2047b0d704c2b90d32dfa..6a6e3dcdd4cbf93ab68361b0a388a1028b4f96d9 100644 +index e91b45268d96dfa79cd6472824b203e5250df0a5..f036f8bbb5861edec3a05d4c96fc495dd055d529 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1737,11 +1737,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -51,7 +51,7 @@ index e2dd9441bdcebe0a31f2047b0d704c2b90d32dfa..6a6e3dcdd4cbf93ab68361b0a388a102 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 9f012b6ccedc2f325f1cb7ee2d4cb843db4e6a41..4798ece84ad42cce048811a6b1dc9bb779f73945 100644 +index 87266f10b5922327060dbe910010e76559be8ca6..862b38e552615eba73841bb7d1e3e87185eb6a5a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1296,10 +1296,10 @@ public class CraftEventFactory { diff --git a/patches/server/0951-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/server/0951-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch index 2f5b244c61..2d866dedaa 100644 --- a/patches/server/0951-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch +++ b/patches/server/0951-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Don't enforce icanhasbukkit default if alias block exists diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ef4c259504694d27534834a5d33e78a8d33ece6c..9b0877f67d5845030b3f11240e89e77401a01c3e 100644 +index 3b264f630a28416f0faacafba91e047bfb0f5190..652730486f93ea829865f7e140823b600ce3bb64 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -360,7 +360,11 @@ public final class CraftServer implements Server { +@@ -359,7 +359,11 @@ public final class CraftServer implements Server { } this.commandsConfiguration = YamlConfiguration.loadConfiguration(this.getCommandsConfigFile()); this.commandsConfiguration.options().copyDefaults(true); diff --git a/patches/server/0954-Add-method-to-remove-all-active-potion-effects.patch b/patches/server/0954-Add-method-to-remove-all-active-potion-effects.patch index b1726ab069..c21ed94db8 100644 --- a/patches/server/0954-Add-method-to-remove-all-active-potion-effects.patch +++ b/patches/server/0954-Add-method-to-remove-all-active-potion-effects.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add method to remove all active potion effects diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 22847ea7063a660934515a1108e66f9265f1685f..5ce1c779addafad90d54f2dc76578ec6df5af071 100644 +index e997aebe36436570e2461a4685f0fb371ce4ce14..fe2124694eb080cab685a1ce1f6a66e2fcdf6a17 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java @@ -503,6 +503,13 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { diff --git a/patches/server/0962-Call-missing-BlockDispenseEvent.patch b/patches/server/0962-Call-missing-BlockDispenseEvent.patch index 0b125c6318..9d8ee0fc19 100644 --- a/patches/server/0962-Call-missing-BlockDispenseEvent.patch +++ b/patches/server/0962-Call-missing-BlockDispenseEvent.patch @@ -50,10 +50,10 @@ index c0baec6ae9bd90410f47aa04d7c7704233375d1a..e9b748a81ec223a701b56d2dc890c9eb for (int k = 0; k < 5; ++k) { worldserver.sendParticles(ParticleTypes.SPLASH, (double) blockposition.getX() + worldserver.random.nextDouble(), (double) (blockposition.getY() + 1), (double) blockposition.getZ() + worldserver.random.nextDouble(), 1, 0.0D, 0.0D, 0.0D, 1.0D); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 4798ece84ad42cce048811a6b1dc9bb779f73945..7e21999652796ae90f8c4b0747ecef2fd90c480a 100644 +index 862b38e552615eba73841bb7d1e3e87185eb6a5a..bef88faefc8023a9640b843eaa5216594d0c4386 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2055,6 +2055,32 @@ public class CraftEventFactory { +@@ -2057,6 +2057,32 @@ public class CraftEventFactory { } // Paper end diff --git a/patches/server/0967-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0967-fix-item-meta-for-tadpole-buckets.patch index 92343107f9..a9cac8a138 100644 --- a/patches/server/0967-fix-item-meta-for-tadpole-buckets.patch +++ b/patches/server/0967-fix-item-meta-for-tadpole-buckets.patch @@ -5,7 +5,7 @@ Subject: [PATCH] fix item meta for tadpole buckets diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java -index 4c0b250bb9e3cf52173b563b36fd27d9e893e154..3f4e55bb9a4134e54adddca3c662285164068d95 100644 +index 6e91c7ccc36e088be60739dd71b287f0b922a055..57f4cf40359fe9bb427eb0134660d00839a63c86 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftItemFactory.java @@ -348,6 +348,7 @@ public final class CraftItemFactory implements ItemFactory { diff --git a/patches/server/0968-Suppress-Item-Meta-Validation-Checks.patch b/patches/server/0968-Suppress-Item-Meta-Validation-Checks.patch index cd59fe39f9..ee6670b47c 100644 --- a/patches/server/0968-Suppress-Item-Meta-Validation-Checks.patch +++ b/patches/server/0968-Suppress-Item-Meta-Validation-Checks.patch @@ -47,18 +47,18 @@ index c92981aedebe934cefa1c96a0328fb91fe17acbc..80138632e5216c71fe7060a59dbb2915 CraftMetaArmor(Map map) { super(map); diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 1481c8ca684eddca3eb5db3aceac4877043b9fcd..076e06908a0cf97f86a64a15ca0231c5b0f06fec 100644 +index 9b266dd16dbf863dcf08783ec665dd237b048793..4bfa08fe53604145a7b1c4e7630bf46519223b59 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -488,7 +488,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -489,7 +489,14 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { continue; } -- Attribute attribute = CraftAttributeMap.fromMinecraft(attributeName); +- Attribute attribute = CraftAttribute.stringToBukkit(attributeName); + // Paper start + Attribute attribute; + try { -+ attribute = CraftAttributeMap.fromMinecraft(attributeName); ++ attribute = CraftAttribute.stringToBukkit(attributeName); + } catch (IllegalArgumentException e) { + attribute = null; + } @@ -67,7 +67,7 @@ index 1481c8ca684eddca3eb5db3aceac4877043b9fcd..076e06908a0cf97f86a64a15ca0231c5 continue; } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java -index fe7a8e48a620630a6365edd22466f348de0dc508..cd7aa61a419c4610b841b74b74cfe5a636f292fb 100644 +index 9b9e20014042da4324c9f4babb05d8ba9513f81d..ee37b43060e0b102ab23cf318fd22041f5abaeb0 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaSkull.java @@ -72,11 +72,13 @@ class CraftMetaSkull extends CraftMetaItem implements SkullMeta { @@ -78,7 +78,7 @@ index fe7a8e48a620630a6365edd22466f348de0dc508..cd7aa61a419c4610b841b74b74cfe5a6 if (tag.contains(SKULL_OWNER.NBT, CraftMagicNumbers.NBT.TAG_COMPOUND)) { this.setProfile(NbtUtils.readGameProfile(tag.getCompound(SKULL_OWNER.NBT))); } else if (tag.contains(SKULL_OWNER.NBT, CraftMagicNumbers.NBT.TAG_STRING) && !tag.getString(SKULL_OWNER.NBT).isEmpty()) { - this.setProfile(new CraftGameProfile(null, tag.getString(SKULL_OWNER.NBT))); + this.setProfile(new GameProfile(Util.NIL_UUID, tag.getString(SKULL_OWNER.NBT))); } + } catch (Exception ignored) {} // Paper diff --git a/patches/server/0969-Fix-BanList-API.patch b/patches/server/0969-Fix-BanList-API.patch index cfa843a407..ae76a83578 100644 --- a/patches/server/0969-Fix-BanList-API.patch +++ b/patches/server/0969-Fix-BanList-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix BanList API diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index aa070258c1f2546ac68869cb62c8752c80c758ab..c6129dc565b8f874b73e2fefcabd4be1c221fd73 100644 +index 3762230eeee47114f683dfa428a8e55cf2f42b48..fda82c7c3b7e28b6d3ed4b28c956a069a975c22c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java @@ -114,17 +114,17 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa @@ -208,7 +208,7 @@ index 172202accf4448a933fcf1ff820316c7910dd7f7..50ee7656580d386db473c054f5c5ec57 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6a6e3dcdd4cbf93ab68361b0a388a1028b4f96d9..8b2ed0f06bc8dd5cf3b1ad51ead49539c9206b30 100644 +index f036f8bbb5861edec3a05d4c96fc495dd055d529..d997deef986fd50a23c1fbb10774e4974e0a1cc0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1635,23 +1635,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -256,7 +256,7 @@ index 6a6e3dcdd4cbf93ab68361b0a388a1028b4f96d9..8b2ed0f06bc8dd5cf3b1ad51ead49539 } diff --git a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java -index 8d2997efaacbe37d9007861ac871fd2719c2d663..b9af7d0591fee7dc1ce98b20387ffeb31096f6a6 100644 +index 2d877acc4cb338193449ae37cafb0cfdc452d6b0..51a6e84198f5b95488e8c757951ba14be4c55625 100644 --- a/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java +++ b/src/main/java/org/bukkit/craftbukkit/profile/CraftPlayerProfile.java @@ -31,7 +31,7 @@ import org.bukkit.profile.PlayerProfile; diff --git a/patches/server/0971-Fix-possible-NPE-on-painting-creation.patch b/patches/server/0971-Fix-possible-NPE-on-painting-creation.patch index 36cecd13d0..8485ab1255 100644 --- a/patches/server/0971-Fix-possible-NPE-on-painting-creation.patch +++ b/patches/server/0971-Fix-possible-NPE-on-painting-creation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix possible NPE on painting creation diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index d8908ba20280d21a2114afebdf13b1a5520e48e7..3d2b01a04bb0bf4aaa3bbc7550f13e953ed16895 100644 +index 6f3598c12ad8f5d35863669c1f85b5581aa82a60..3de391034dc8367c538008893615514c628d948e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -916,6 +916,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -917,6 +917,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { AABB bb = (ItemFrame.class.isAssignableFrom(clazz)) ? net.minecraft.world.entity.decoration.ItemFrame.calculateBoundingBox(null, pos, CraftBlock.blockFaceToNotch(dir).getOpposite(), width, height) : HangingEntity.calculateBoundingBox(null, pos, CraftBlock.blockFaceToNotch(dir).getOpposite(), width, height); @@ -16,7 +16,7 @@ index d8908ba20280d21a2114afebdf13b1a5520e48e7..3d2b01a04bb0bf4aaa3bbc7550f13e95 List list = (List) this.getHandle().getEntities(null, bb); for (Iterator it = list.iterator(); !taken && it.hasNext(); ) { net.minecraft.world.entity.Entity e = it.next(); -@@ -942,7 +943,8 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -943,7 +944,8 @@ public abstract class CraftRegionAccessor implements RegionAccessor { if (Painting.class.isAssignableFrom(clazz)) { if (this.isNormalWorld() && randomizeData) { entity = net.minecraft.world.entity.decoration.Painting.create(world, pos, dir).orElse(null); diff --git a/patches/server/0973-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/0973-ExperienceOrb-should-call-EntitySpawnEvent.patch index 393650c97e..aa8cb47353 100644 --- a/patches/server/0973-ExperienceOrb-should-call-EntitySpawnEvent.patch +++ b/patches/server/0973-ExperienceOrb-should-call-EntitySpawnEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] ExperienceOrb should call EntitySpawnEvent diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 7e21999652796ae90f8c4b0747ecef2fd90c480a..7f6e5c65306b3984804b7dd2751b34584f13a8f5 100644 +index bef88faefc8023a9640b843eaa5216594d0c4386..11f413f6c06a7da58c9411e4e240d48099774356 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -720,7 +720,10 @@ public class CraftEventFactory { diff --git a/patches/server/0978-Folia-scheduler-and-owned-region-API.patch b/patches/server/0978-Folia-scheduler-and-owned-region-API.patch index a5b4d3ced8..f2b064b821 100644 --- a/patches/server/0978-Folia-scheduler-and-owned-region-API.patch +++ b/patches/server/0978-Folia-scheduler-and-owned-region-API.patch @@ -1224,10 +1224,10 @@ index ac7f1f317782a6c6ad41614fbe6c25498da63010..426023af3cbed9c17048e669c87a1c66 public void setLevelCallback(EntityInLevelCallback changeListener) { this.levelCallback = changeListener; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 9b0877f67d5845030b3f11240e89e77401a01c3e..76adf846817aa8665f6601496317986e62a191cd 100644 +index 652730486f93ea829865f7e140823b600ce3bb64..3c5ae22e97a0dc7307161b6a96140dae2be25995 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -309,6 +309,76 @@ public final class CraftServer implements Server { +@@ -308,6 +308,76 @@ public final class CraftServer implements Server { private final io.papermc.paper.logging.SysoutCatcher sysoutCatcher = new io.papermc.paper.logging.SysoutCatcher(); // Paper private final CraftPotionBrewer potionBrewer = new CraftPotionBrewer(); // Paper @@ -1305,7 +1305,7 @@ index 9b0877f67d5845030b3f11240e89e77401a01c3e..76adf846817aa8665f6601496317986e ConfigurationSerialization.registerClass(CraftOfflinePlayer.class); ConfigurationSerialization.registerClass(CraftPlayerProfile.class); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index fd89da8b92492c3b507b68d1040d293977528441..daa7c3e4cc59b1325d694fbc621e595c28c12c6b 100644 +index 56fe7baf22b040af77a08b7ebddad3aa8a53185f..39940331a3322213856b0ef4ca71f00965d05b4f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -207,6 +207,15 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -1324,7 +1324,7 @@ index fd89da8b92492c3b507b68d1040d293977528441..daa7c3e4cc59b1325d694fbc621e595c public CraftEntity(final CraftServer server, final Entity entity) { this.server = server; -@@ -831,6 +840,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -830,6 +839,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return this.entity; } diff --git a/patches/server/0980-API-for-updating-recipes-on-clients.patch b/patches/server/0980-API-for-updating-recipes-on-clients.patch index 34b781e1c0..b6d9838ada 100644 --- a/patches/server/0980-API-for-updating-recipes-on-clients.patch +++ b/patches/server/0980-API-for-updating-recipes-on-clients.patch @@ -39,10 +39,10 @@ index 723a87701a44e379c80e6def91c5340e37c87ba1..986ab7dd2135b4cb871923b20e3dc83e Iterator iterator1 = this.players.iterator(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 76adf846817aa8665f6601496317986e62a191cd..87a4141c3fdaaa6ef855f6ceff5f44e03d894c46 100644 +index 3c5ae22e97a0dc7307161b6a96140dae2be25995..a3d1d4d259014f55feda56dc97c2cfd48891de12 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1132,6 +1132,18 @@ public final class CraftServer implements Server { +@@ -1131,6 +1131,18 @@ public final class CraftServer implements Server { ReloadCommand.reload(console); } @@ -61,7 +61,7 @@ index 76adf846817aa8665f6601496317986e62a191cd..87a4141c3fdaaa6ef855f6ceff5f44e0 private void loadIcon() { this.icon = new CraftIconCache(null); try { -@@ -1474,6 +1486,13 @@ public final class CraftServer implements Server { +@@ -1473,6 +1485,13 @@ public final class CraftServer implements Server { @Override public boolean addRecipe(Recipe recipe) { @@ -75,7 +75,7 @@ index 76adf846817aa8665f6601496317986e62a191cd..87a4141c3fdaaa6ef855f6ceff5f44e0 CraftRecipe toAdd; if (recipe instanceof CraftRecipe) { toAdd = (CraftRecipe) recipe; -@@ -1503,6 +1522,11 @@ public final class CraftServer implements Server { +@@ -1502,6 +1521,11 @@ public final class CraftServer implements Server { } } toAdd.addToCraftingManager(); @@ -87,7 +87,7 @@ index 76adf846817aa8665f6601496317986e62a191cd..87a4141c3fdaaa6ef855f6ceff5f44e0 return true; } -@@ -1622,10 +1646,23 @@ public final class CraftServer implements Server { +@@ -1621,10 +1645,23 @@ public final class CraftServer implements Server { @Override public boolean removeRecipe(NamespacedKey recipeKey) { diff --git a/patches/server/0981-Fix-rotation-when-spawning-display-entities.patch b/patches/server/0981-Fix-rotation-when-spawning-display-entities.patch index c900f445f1..d0ab343b2d 100644 --- a/patches/server/0981-Fix-rotation-when-spawning-display-entities.patch +++ b/patches/server/0981-Fix-rotation-when-spawning-display-entities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix rotation when spawning display entities diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index 3d2b01a04bb0bf4aaa3bbc7550f13e953ed16895..e3501ff996487bc1020470a5bf7c892dbfcdaacd 100644 +index 3de391034dc8367c538008893615514c628d948e..7673e6c8a16455366d46a64df00c97663089c2ce 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -986,6 +986,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -987,6 +987,7 @@ public abstract class CraftRegionAccessor implements RegionAccessor { if (entity != null) { entity.setPos(x, y, z); diff --git a/patches/server/0982-Only-capture-actual-tree-growth.patch b/patches/server/0982-Only-capture-actual-tree-growth.patch index 15bc8126dc..146e0f5cad 100644 --- a/patches/server/0982-Only-capture-actual-tree-growth.patch +++ b/patches/server/0982-Only-capture-actual-tree-growth.patch @@ -57,10 +57,10 @@ index f43e6fe77e943239c1f1d6fa3e31235949f79546..53ac4e618fec3fe384d8a106c521f3ea } } diff --git a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -index f3ac362b7b65a5273ff5fdad1d8065c5f654a53a..bb5837c74edfecec9956b635546a8ecfe1c7dfa5 100644 +index e8dd0b9184e164b41cb4b361f23b6925e7670f8f..24ba4e1fd80d8effc8e70224103d3b93d69cb2ac 100644 --- a/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java +++ b/src/main/java/org/bukkit/craftbukkit/block/CraftBlock.java -@@ -592,6 +592,7 @@ public class CraftBlock implements Block { +@@ -565,6 +565,7 @@ public class CraftBlock implements Block { if (!event.isCancelled()) { for (BlockState blockstate : blocks) { blockstate.update(true); diff --git a/patches/server/0984-Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/server/0984-Respect-randomizeData-on-more-entities-when-spawning.patch index 7d2fd2d075..dd08dc14b0 100644 --- a/patches/server/0984-Respect-randomizeData-on-more-entities-when-spawning.patch +++ b/patches/server/0984-Respect-randomizeData-on-more-entities-when-spawning.patch @@ -9,10 +9,10 @@ Subject: [PATCH] Respect randomizeData on more entities when spawning * ExperienceOrb diff --git a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -index e3501ff996487bc1020470a5bf7c892dbfcdaacd..bf2cd1eb04c10b8422ddca8efd397290bf58ea4d 100644 +index 7673e6c8a16455366d46a64df00c97663089c2ce..1a17875426468b287c8ea3f559ea516d0218f7a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftRegionAccessor.java -@@ -603,6 +603,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -604,6 +604,11 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } else if (org.bukkit.entity.Item.class.isAssignableFrom(clazz)) { entity = new net.minecraft.world.entity.item.ItemEntity(world, x, y, z, new net.minecraft.world.item.ItemStack(net.minecraft.world.item.Items.DIRT)); // Paper end @@ -24,7 +24,7 @@ index e3501ff996487bc1020470a5bf7c892dbfcdaacd..bf2cd1eb04c10b8422ddca8efd397290 } else if (FallingBlock.class.isAssignableFrom(clazz)) { BlockPos pos = BlockPos.containing(x, y, z); entity = new FallingBlockEntity(world, x, y, z, this.getHandle().getBlockState(pos)); // Paper -@@ -658,6 +663,14 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -659,6 +664,14 @@ public abstract class CraftRegionAccessor implements RegionAccessor { entity.moveTo(x, y, z, yaw, pitch); } else if (Firework.class.isAssignableFrom(clazz)) { entity = new FireworkRocketEntity(world, x, y, z, net.minecraft.world.item.ItemStack.EMPTY); @@ -39,7 +39,7 @@ index e3501ff996487bc1020470a5bf7c892dbfcdaacd..bf2cd1eb04c10b8422ddca8efd397290 } } else if (Minecart.class.isAssignableFrom(clazz)) { if (PoweredMinecart.class.isAssignableFrom(clazz)) { -@@ -959,8 +972,19 @@ public abstract class CraftRegionAccessor implements RegionAccessor { +@@ -960,8 +973,19 @@ public abstract class CraftRegionAccessor implements RegionAccessor { } } else if (TNTPrimed.class.isAssignableFrom(clazz)) { entity = new PrimedTnt(world, x, y, z, null); diff --git a/patches/server/0985-Use-correct-seed-on-api-world-load.patch b/patches/server/0985-Use-correct-seed-on-api-world-load.patch index ce69d5fe03..f518b6abe5 100644 --- a/patches/server/0985-Use-correct-seed-on-api-world-load.patch +++ b/patches/server/0985-Use-correct-seed-on-api-world-load.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Use correct seed on api world load diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 87a4141c3fdaaa6ef855f6ceff5f44e03d894c46..cbe4d0c7743ab8bca93041177c8ffdf0fb570570 100644 +index a3d1d4d259014f55feda56dc97c2cfd48891de12..23c66510e877670e194b74a0935f1a810ce762b5 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1313,7 +1313,7 @@ public final class CraftServer implements Server { +@@ -1312,7 +1312,7 @@ public final class CraftServer implements Server { // Paper - move down diff --git a/patches/server/0988-Fix-custom-statistic-criteria-creation.patch b/patches/server/0988-Fix-custom-statistic-criteria-creation.patch index 36b38e1ad4..361523edd9 100644 --- a/patches/server/0988-Fix-custom-statistic-criteria-creation.patch +++ b/patches/server/0988-Fix-custom-statistic-criteria-creation.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix custom statistic criteria creation diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 58f2eaf81f24f1548bdc9f46528cb4b94b18de69..868d502a9bc49bf5e1295c28a76fc09ed37f8591 100644 +index 437b331dc1f77d8fda895a42550bfb1035c8c3c1..96f6e0554baf5915dd1f5b93f3bcfe7a13393c29 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -623,6 +623,12 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -604,6 +604,12 @@ public final class CraftMagicNumbers implements UnsafeValues { net.minecraft.core.Holder biomeBase = cra.getHandle().registryAccess().registryOrThrow(net.minecraft.core.registries.Registries.BIOME).getHolderOrThrow(net.minecraft.resources.ResourceKey.create(net.minecraft.core.registries.Registries.BIOME, org.bukkit.craftbukkit.util.CraftNamespacedKey.toMinecraft(biomeKey))); cra.setBiome(x, y, z, biomeBase); } diff --git a/patches/server/0989-Bandaid-fix-for-Effect.patch b/patches/server/0989-Bandaid-fix-for-Effect.patch index 3a386db86c..fcaf0489aa 100644 --- a/patches/server/0989-Bandaid-fix-for-Effect.patch +++ b/patches/server/0989-Bandaid-fix-for-Effect.patch @@ -45,10 +45,10 @@ index 5a5a8945c786e16ff0df62494ddd1ac85c42b53f..63f9735d356dafd579cee4423d3037eb case COMPOSTER_FILL_ATTEMPT: datavalue = ((Boolean) data) ? 1 : 0; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 9707487f2533c30dc1998fafc626e50948ee4dab..1b996cbbbbf3f753f1144d553f763e15f23593bd 100644 +index efefb334aba5a7dc03fbe210b9528109d31ad3fa..7aef2714791674086246ab4b5b92c8965dbfdae0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -1369,7 +1369,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -1368,7 +1368,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { public void playEffect(Location loc, Effect effect, T data, int radius) { if (data != null) { Preconditions.checkArgument(effect.getData() != null, "Effect.%s does not have a valid Data", effect); @@ -58,7 +58,7 @@ index 9707487f2533c30dc1998fafc626e50948ee4dab..1b996cbbbbf3f753f1144d553f763e15 // Special case: the axis is optional for ELECTRIC_SPARK Preconditions.checkArgument(effect.getData() == null || effect == Effect.ELECTRIC_SPARK, "Wrong kind of data for the %s effect", effect); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8b2ed0f06bc8dd5cf3b1ad51ead49539c9206b30..1975444d38d5130efde54f9122387997658d87e7 100644 +index d997deef986fd50a23c1fbb10774e4974e0a1cc0..7c73dd0717924531523e126bc79282aee4a3103c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -862,7 +862,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0991-API-for-an-entity-s-scoreboard-name.patch b/patches/server/0991-API-for-an-entity-s-scoreboard-name.patch index 20923b834a..1a0045c1c8 100644 --- a/patches/server/0991-API-for-an-entity-s-scoreboard-name.patch +++ b/patches/server/0991-API-for-an-entity-s-scoreboard-name.patch @@ -7,10 +7,10 @@ Was obtainable through different methods, but you had to use different methods depending on the implementation of Entity you were working with. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index daa7c3e4cc59b1325d694fbc621e595c28c12c6b..4a84b595e33dd8a378b8bdefbc97aa22af4a1e72 100644 +index 39940331a3322213856b0ef4ca71f00965d05b4f..bcd25a26bab436504c58edc1f5fb0a0337459464 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1486,4 +1486,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1485,4 +1485,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return !this.getHandle().level().noCollision(this.getHandle(), aabb); } // Paper End - Collision API diff --git a/patches/server/0993-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/0993-Deprecate-and-replace-methods-with-old-StructureType.patch index c9aa97e359..9a940e8208 100644 --- a/patches/server/0993-Deprecate-and-replace-methods-with-old-StructureType.patch +++ b/patches/server/0993-Deprecate-and-replace-methods-with-old-StructureType.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Deprecate and replace methods with old StructureType diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index cbe4d0c7743ab8bca93041177c8ffdf0fb570570..fdd4cb183bc3689ed1df1ff40ceaa41c8a356ea4 100644 +index 23c66510e877670e194b74a0935f1a810ce762b5..7e38dd8b7015f8f648c551ab0a83c4822bfa37a0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1855,6 +1855,11 @@ public final class CraftServer implements Server { +@@ -1854,6 +1854,11 @@ public final class CraftServer implements Server { ServerLevel worldServer = ((CraftWorld) world).getHandle(); Location structureLocation = world.locateNearestStructure(location, structureType, radius, findUnexplored); @@ -20,7 +20,7 @@ index cbe4d0c7743ab8bca93041177c8ffdf0fb570570..fdd4cb183bc3689ed1df1ff40ceaa41c BlockPos structurePosition = CraftLocation.toBlockPosition(structureLocation); // Create map with trackPlayer = true, unlimitedTracking = true -@@ -1865,6 +1870,31 @@ public final class CraftServer implements Server { +@@ -1864,6 +1869,31 @@ public final class CraftServer implements Server { return CraftItemStack.asBukkitCopy(stack); } diff --git a/patches/server/0998-Add-Listing-API-for-Player.patch b/patches/server/0998-Add-Listing-API-for-Player.patch index 8891b44b9a..d0c52891a0 100644 --- a/patches/server/0998-Add-Listing-API-for-Player.patch +++ b/patches/server/0998-Add-Listing-API-for-Player.patch @@ -113,7 +113,7 @@ index 986ab7dd2135b4cb871923b20e3dc83e17e2bae9..ba415d400c706c0483c0dc8da959b5ff // Paper end player.sentListPacket = true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1975444d38d5130efde54f9122387997658d87e7..5db28d16070b5d5ec076ec3c7c84e5d7cf230601 100644 +index 7c73dd0717924531523e126bc79282aee4a3103c..4f6c3bbb9850f307c382ee961e544f0035b2d29e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -184,6 +184,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/1000-Expose-clicked-BlockFace-during-BlockDamageEvent.patch b/patches/server/1000-Expose-clicked-BlockFace-during-BlockDamageEvent.patch index cbe1991b7d..566e62b5de 100644 --- a/patches/server/1000-Expose-clicked-BlockFace-during-BlockDamageEvent.patch +++ b/patches/server/1000-Expose-clicked-BlockFace-during-BlockDamageEvent.patch @@ -18,7 +18,7 @@ index 0435c8262480bf5d83fd4306205f32b979911811..1b0302df0ed420fd7f9d6803d796abf7 if (blockEvent.isCancelled()) { // Let the client know the block still exists diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 7f6e5c65306b3984804b7dd2751b34584f13a8f5..e6f1df5706f2fd4e14f98053344bda03c1c12773 100644 +index 11f413f6c06a7da58c9411e4e240d48099774356..37bba53fe2c55668a8e280b669fc138d4413a405 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -650,13 +650,13 @@ public class CraftEventFactory { diff --git a/patches/server/1002-Expand-Pose-API.patch b/patches/server/1002-Expand-Pose-API.patch index 509291831f..67a17d8d1c 100644 --- a/patches/server/1002-Expand-Pose-API.patch +++ b/patches/server/1002-Expand-Pose-API.patch @@ -25,10 +25,10 @@ index 426023af3cbed9c17048e669c87a1c66bda4ad1b..f20ae9153b7098980ce6c0e75fcbbb4d if (pose == this.getPose()) { return; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 4a84b595e33dd8a378b8bdefbc97aa22af4a1e72..327c9db9907a0b6953fa9ca133ec2f7dd3c74127 100644 +index bcd25a26bab436504c58edc1f5fb0a0337459464..e932cfac619c30b8c7444a9fa41e0403a6eadf6a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1227,6 +1227,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1226,6 +1226,20 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isSneaking() { return this.getHandle().isShiftKeyDown(); } diff --git a/patches/server/1004-Deep-clone-unhandled-nbt-tags.patch b/patches/server/1004-Deep-clone-unhandled-nbt-tags.patch index f37bf37494..cca7331663 100644 --- a/patches/server/1004-Deep-clone-unhandled-nbt-tags.patch +++ b/patches/server/1004-Deep-clone-unhandled-nbt-tags.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Deep clone unhandled nbt tags diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -index 076e06908a0cf97f86a64a15ca0231c5b0f06fec..3df1822b55358a9bdf41bcacd5b7fecfd8f05dfa 100644 +index 4bfa08fe53604145a7b1c4e7630bf46519223b59..9d4cb06b8009c6e22db4237cffa99008bbec6e84 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaItem.java -@@ -303,7 +303,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -304,7 +304,7 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { private static final CraftPersistentDataTypeRegistry DATA_TYPE_REGISTRY = new CraftPersistentDataTypeRegistry(); private CompoundTag internalTag; @@ -17,7 +17,7 @@ index 076e06908a0cf97f86a64a15ca0231c5b0f06fec..3df1822b55358a9bdf41bcacd5b7fecf private CraftPersistentDataContainer persistentDataContainer = new CraftPersistentDataContainer(CraftMetaItem.DATA_TYPE_REGISTRY); private int version = CraftMagicNumbers.INSTANCE.getDataVersion(); // Internal use only -@@ -344,8 +344,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -345,8 +345,10 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { this.destroyableKeys = new java.util.HashSet<>(meta.destroyableKeys); } // Paper end @@ -30,7 +30,7 @@ index 076e06908a0cf97f86a64a15ca0231c5b0f06fec..3df1822b55358a9bdf41bcacd5b7fecf this.internalTag = meta.internalTag; if (this.internalTag != null) { -@@ -1393,7 +1395,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { +@@ -1394,7 +1396,11 @@ class CraftMetaItem implements ItemMeta, Damageable, Repairable, BlockDataMeta { if (this.hasAttributeModifiers()) { clone.attributeModifiers = LinkedHashMultimap.create(this.attributeModifiers); } diff --git a/patches/server/1010-Implement-OfflinePlayer-isConnected.patch b/patches/server/1010-Implement-OfflinePlayer-isConnected.patch index 157d1931e9..94c72e3a58 100644 --- a/patches/server/1010-Implement-OfflinePlayer-isConnected.patch +++ b/patches/server/1010-Implement-OfflinePlayer-isConnected.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement OfflinePlayer#isConnected diff --git a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java -index c6129dc565b8f874b73e2fefcabd4be1c221fd73..c1b874cd6e0498fce3cd53fdbaca30d290e004d7 100644 +index fda82c7c3b7e28b6d3ed4b28c956a069a975c22c..03fc90a470c0f63d44161843cac88bea09166858 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftOfflinePlayer.java @@ -53,6 +53,13 @@ public class CraftOfflinePlayer implements OfflinePlayer, ConfigurationSerializa @@ -23,7 +23,7 @@ index c6129dc565b8f874b73e2fefcabd4be1c221fd73..c1b874cd6e0498fce3cd53fdbaca30d2 public String getName() { Player player = this.getPlayer(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 5db28d16070b5d5ec076ec3c7c84e5d7cf230601..ae3ded93ea1440ec2cb9bb7740e9a983210de0fa 100644 +index 4f6c3bbb9850f307c382ee961e544f0035b2d29e..e188bb3ba5d2ec28421947c0b66b25eecb569bfe 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -274,6 +274,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/1012-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/1012-Add-titleOverride-to-InventoryOpenEvent.patch index 7e78a4e41b..1faf111c41 100644 --- a/patches/server/1012-Add-titleOverride-to-InventoryOpenEvent.patch +++ b/patches/server/1012-Add-titleOverride-to-InventoryOpenEvent.patch @@ -79,7 +79,7 @@ index 5b01ffcdbfff7dbd05143cb08479c90e9b29dfba..017e97c1618b8ee4640b36a0ec1b0702 if (!player.isImmobile()) player.connection.send(new ClientboundOpenScreenPacket(container.containerId, windowType, io.papermc.paper.adventure.PaperAdventure.asVanilla(adventure$title))); // Paper player.containerMenu = container; diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index e6f1df5706f2fd4e14f98053344bda03c1c12773..10330600acecdc1a1024183c5989dd36a3b176bd 100644 +index 37bba53fe2c55668a8e280b669fc138d4413a405..50fed722bbba5c663e4be33a179ea75dfa2dd9e9 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1415,10 +1415,21 @@ public class CraftEventFactory { diff --git a/work/Bukkit b/work/Bukkit index d7a7a6c677..dfe1fb4853 160000 --- a/work/Bukkit +++ b/work/Bukkit @@ -1 +1 @@ -Subproject commit d7a7a6c677a84a646a24069572b2ba8b189b4693 +Subproject commit dfe1fb4853158bd17f6955527ad3bf85f4d5150d diff --git a/work/CraftBukkit b/work/CraftBukkit index 28c1023286..f71a799f03 160000 --- a/work/CraftBukkit +++ b/work/CraftBukkit @@ -1 +1 @@ -Subproject commit 28c10232864804265dd3fa4e2008a55e1718b128 +Subproject commit f71a799f03aae4277a48b4a1082b478833975682