From 8191a49013866777118ec26b055f4d65cd170276 Mon Sep 17 00:00:00 2001 From: SoSeDiK Date: Thu, 20 Feb 2025 15:44:07 +0200 Subject: [PATCH] Update Upstream (Purpur) --- gradle.properties | 2 +- .../features/0002-Rework-some-deprecations.patch | 13 ++++++------- .../features/0005-Paper-PR-Combat-tracker-API.patch | 4 ++-- ...-exclude-UnsafeValues-from-annotation-tes.patch} | 2 +- .../src/main/java/org/bukkit/Bukkit.java.patch | 2 +- .../src/main/java/org/bukkit/Location.java.patch | 4 ++-- .../src/main/java/org/bukkit/Server.java.patch | 4 ++-- .../java/org/bukkit/entity/AbstractArrow.java.patch | 2 +- .../main/java/org/bukkit/entity/Player.java.patch | 4 ++-- .../java/org/bukkit/inventory/ItemStack.java.patch | 2 +- .../0008-Add-EntityLoadsProjectileEvent.patch | 13 +++++++------ .../0009-Add-EntityStartUsingItemEvent.patch | 4 ++-- .../net/minecraft/commands/Commands.java.patch | 2 +- .../net/minecraft/world/entity/Entity.java.patch | 4 ++-- ...Vehicle-Passenger-Teleporting-for-Bukkit-A.patch | 10 +++++----- ...dd-FillBottleEvents-for-player-and-dispens.patch | 4 ++-- .../0011-Paper-PR-Add-Improved-Lidded-API.patch | 4 ++-- .../0012-Paper-PR-Improve-LootContext-API.patch | 12 ++++++------ .../org/bukkit/craftbukkit/CraftServer.java.patch | 6 +++--- .../entity/CraftAbstractArrow.java.patch | 2 +- .../craftbukkit/entity/CraftPlayer.java.patch | 2 +- .../craftbukkit/event/CraftEventFactory.java.patch | 2 +- 22 files changed, 52 insertions(+), 52 deletions(-) rename kiterino-api/paper-patches/features/{0009-Temporary-exclude-UnsafeValues-from-annotation-test.patch => 0009-Temporarily-exclude-UnsafeValues-from-annotation-tes.patch} (89%) diff --git a/gradle.properties b/gradle.properties index f0d98ac..1b17ab3 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ version = 1.21.4-R0.1-SNAPSHOT mcVersion = 1.21.4 # Upstream commit -purpurCommit = 4f481858a32b9636fcd19f539f13fb03e1bbf443 +purpurCommit = 196c1768e1cfa467b82acf260156892784c84578 # Gradle org.gradle.configuration-cache=true diff --git a/kiterino-api/paper-patches/features/0002-Rework-some-deprecations.patch b/kiterino-api/paper-patches/features/0002-Rework-some-deprecations.patch index c73e060..0bb2b0d 100644 --- a/kiterino-api/paper-patches/features/0002-Rework-some-deprecations.patch +++ b/kiterino-api/paper-patches/features/0002-Rework-some-deprecations.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Rework some deprecations diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index b2875fca1fd4c8d1e648c5506af47c9af393633d..e20ea4a49c4f0d0328928959e402e047bf9b065e 100644 +index 598353f5624d404dc7266ccf33a34e073040b26a..0da29365086a1a5da7676b1657e6b8353120cc7f 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2628,7 +2628,7 @@ public final class Bukkit { +@@ -2632,7 +2632,7 @@ public final class Bukkit { * @return the unsafe values instance * @see UnsafeValues */ @@ -18,10 +18,10 @@ index b2875fca1fd4c8d1e648c5506af47c9af393633d..e20ea4a49c4f0d0328928959e402e047 public static UnsafeValues getUnsafe() { return server.getUnsafe(); diff --git a/src/main/java/org/bukkit/OfflinePlayer.java b/src/main/java/org/bukkit/OfflinePlayer.java -index 6d31b561d915180fcd473b317721064feed28f37..459997be6968568b99c04436d430939eb06aac5c 100644 +index c597c298795fb9893447bc822d941c1748dcb9c5..745c6b73f82949f7cd64d26b6771507784f1a598 100644 --- a/src/main/java/org/bukkit/OfflinePlayer.java +++ b/src/main/java/org/bukkit/OfflinePlayer.java -@@ -239,9 +239,11 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio +@@ -233,9 +233,11 @@ public interface OfflinePlayer extends ServerOperator, AnimalTamer, Configuratio * UTC. * * @return Date of last log-in for this player, or 0 @@ -85,17 +85,16 @@ index 4b94f1ed620c57bebca7cf0a5a0d478a93952d36..32ce88d2d8ebc5c15c9a10bda06215d1 void resetMaxHealth(); } diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 0a1cbdb1daf1691a59a9e7acd5edc637cd4720bd..5a1b52d10bbefdc6654d8dc8f3dde58fe6d14fb3 100644 +index 65196f51d2ec50be9513123aeb5a548f573ffdac..58cabc02de3d3c4d3b34b4f6b53ef06fc8bc3cfc 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3345,10 +3345,10 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3324,9 +3324,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * they wish. * * @return the player's locale - * @deprecated in favour of {@link #locale()} + * @see #locale() */ - @NotNull - @Deprecated // Paper + //@Deprecated // Paper // Kiterino - Rework some deprecations public String getLocale(); diff --git a/kiterino-api/paper-patches/features/0005-Paper-PR-Combat-tracker-API.patch b/kiterino-api/paper-patches/features/0005-Paper-PR-Combat-tracker-API.patch index 9b33c65..22998b3 100644 --- a/kiterino-api/paper-patches/features/0005-Paper-PR-Combat-tracker-API.patch +++ b/kiterino-api/paper-patches/features/0005-Paper-PR-Combat-tracker-API.patch @@ -344,10 +344,10 @@ index 0000000000000000000000000000000000000000..c5b97cea39ed0186deee042a9f16e0fa + +} diff --git a/src/main/java/org/bukkit/entity/LivingEntity.java b/src/main/java/org/bukkit/entity/LivingEntity.java -index a4acc3578e935cd1174474bd1f6ff14db4294fe7..38024224438f3a3b235206c925b5ad812341e749 100644 +index a04b6603a64cd6bf1049fd684407dcf9d9d7b5e9..d9af95d928b693ea3a8fc8419adb112efb2054b1 100644 --- a/src/main/java/org/bukkit/entity/LivingEntity.java +++ b/src/main/java/org/bukkit/entity/LivingEntity.java -@@ -1484,4 +1484,24 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource +@@ -1492,4 +1492,24 @@ public interface LivingEntity extends Attributable, Damageable, ProjectileSource */ void setShouldBurnInDay(boolean shouldBurnInDay); // Purpur end - API for any mob to burn daylight diff --git a/kiterino-api/paper-patches/features/0009-Temporary-exclude-UnsafeValues-from-annotation-test.patch b/kiterino-api/paper-patches/features/0009-Temporarily-exclude-UnsafeValues-from-annotation-tes.patch similarity index 89% rename from kiterino-api/paper-patches/features/0009-Temporary-exclude-UnsafeValues-from-annotation-test.patch rename to kiterino-api/paper-patches/features/0009-Temporarily-exclude-UnsafeValues-from-annotation-tes.patch index 8eb9dcf..fbe0aac 100644 --- a/kiterino-api/paper-patches/features/0009-Temporary-exclude-UnsafeValues-from-annotation-test.patch +++ b/kiterino-api/paper-patches/features/0009-Temporarily-exclude-UnsafeValues-from-annotation-tes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Temporarily (?) exclude UnsafeValues from annotation test diff --git a/src/test/java/org/bukkit/AnnotationTest.java b/src/test/java/org/bukkit/AnnotationTest.java -index 37feafd626aaa17aba888d7ff13728b3c6f26d4d..4faacd0183515ef737bba3e0f1ac750ae91d8976 100644 +index 37feafd626aaa17aba888d7ff13728b3c6f26d4d..c1d3b0726344e86b99d5df0a3e505e784ebf2928 100644 --- a/src/test/java/org/bukkit/AnnotationTest.java +++ b/src/test/java/org/bukkit/AnnotationTest.java @@ -39,6 +39,7 @@ public class AnnotationTest { diff --git a/kiterino-api/paper-patches/files/src/main/java/org/bukkit/Bukkit.java.patch b/kiterino-api/paper-patches/files/src/main/java/org/bukkit/Bukkit.java.patch index 4df8de3..3ef8595 100644 --- a/kiterino-api/paper-patches/files/src/main/java/org/bukkit/Bukkit.java.patch +++ b/kiterino-api/paper-patches/files/src/main/java/org/bukkit/Bukkit.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -3109,4 +_,30 @@ +@@ -3113,4 +_,30 @@ server.clearBlockHighlights(); } // Purpur end - Debug Marker API diff --git a/kiterino-api/paper-patches/files/src/main/java/org/bukkit/Location.java.patch b/kiterino-api/paper-patches/files/src/main/java/org/bukkit/Location.java.patch index b7d0137..e5a4ec7 100644 --- a/kiterino-api/paper-patches/files/src/main/java/org/bukkit/Location.java.patch +++ b/kiterino-api/paper-patches/files/src/main/java/org/bukkit/Location.java.patch @@ -1,7 +1,7 @@ --- a/src/main/java/org/bukkit/Location.java +++ b/src/main/java/org/bukkit/Location.java -@@ -480,6 +_,257 @@ - return this; +@@ -507,6 +_,257 @@ + return subtractRotation(rotation.yaw(), rotation.pitch()); } + // Kiterino start - Extend Location API diff --git a/kiterino-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch b/kiterino-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch index 1aeb57e..602e277 100644 --- a/kiterino-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch +++ b/kiterino-api/paper-patches/files/src/main/java/org/bukkit/Server.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2342,6 +_,12 @@ +@@ -2346,6 +_,12 @@ } // Purpur end @@ -13,7 +13,7 @@ /** * Sends the component to the player * -@@ -2773,4 +_,26 @@ +@@ -2777,4 +_,26 @@ */ void clearBlockHighlights(); // Purpur end - Debug Marker API diff --git a/kiterino-api/paper-patches/files/src/main/java/org/bukkit/entity/AbstractArrow.java.patch b/kiterino-api/paper-patches/files/src/main/java/org/bukkit/entity/AbstractArrow.java.patch index 54d7adc..ec5324a 100644 --- a/kiterino-api/paper-patches/files/src/main/java/org/bukkit/entity/AbstractArrow.java.patch +++ b/kiterino-api/paper-patches/files/src/main/java/org/bukkit/entity/AbstractArrow.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/entity/AbstractArrow.java +++ b/src/main/java/org/bukkit/entity/AbstractArrow.java -@@ -282,4 +_,11 @@ +@@ -297,4 +_,11 @@ */ void setShooter(@Nullable org.bukkit.projectiles.ProjectileSource source, boolean resetPickupStatus); // Paper end - Fix PickupStatus getting reset diff --git a/kiterino-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch b/kiterino-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch index cdb2cf4..2e26685 100644 --- a/kiterino-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch +++ b/kiterino-api/paper-patches/files/src/main/java/org/bukkit/entity/Player.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -4047,4 +_,51 @@ +@@ -4021,4 +_,51 @@ sendDeathScreen(message); } // Purpur end @@ -49,6 +49,6 @@ + * @param enderChest ender chest + * @return whether the chest was opened + */ -+ boolean openEnderChest(@NotNull org.bukkit.block.EnderChest enderChest); ++ boolean openEnderChest(org.bukkit.block.EnderChest enderChest); + // Kiterino end - Open ender chest API } diff --git a/kiterino-api/paper-patches/files/src/main/java/org/bukkit/inventory/ItemStack.java.patch b/kiterino-api/paper-patches/files/src/main/java/org/bukkit/inventory/ItemStack.java.patch index 52bae4a..bba8eac 100644 --- a/kiterino-api/paper-patches/files/src/main/java/org/bukkit/inventory/ItemStack.java.patch +++ b/kiterino-api/paper-patches/files/src/main/java/org/bukkit/inventory/ItemStack.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java -@@ -1814,4 +_,54 @@ +@@ -1830,4 +_,54 @@ return this.craftDelegate.damage(amount, ignoreUnbreaking); } // Purpur end - ItemStack convenience methods diff --git a/kiterino-server/minecraft-patches/features/0008-Add-EntityLoadsProjectileEvent.patch b/kiterino-server/minecraft-patches/features/0008-Add-EntityLoadsProjectileEvent.patch index b0dcb0e..04b5ba2 100644 --- a/kiterino-server/minecraft-patches/features/0008-Add-EntityLoadsProjectileEvent.patch +++ b/kiterino-server/minecraft-patches/features/0008-Add-EntityLoadsProjectileEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityLoadsProjectileEvent diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java -index db5a2227009bc4d655fc781d5850221f36f2d112..73884c567d7b97eefa529caaa2c582582f4c3cf7 100644 +index b38bd29e9c3c1565abb3452ffbbaa54cd924961d..eecb0a58fb36dfdfc4143f3ff38a96e2f38ef0c0 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java -@@ -4459,6 +4459,23 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4477,6 +4477,23 @@ public abstract class LivingEntity extends Entity implements Attackable { return ItemStack.EMPTY; } @@ -46,17 +46,17 @@ index c1ebb74b0d4a8e2eb8880ccaf20f0f9bc1940094..8d076340357ccf40149f10c82c7bbbdf return ItemStack.EMPTY; } diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java -index 43657822f0660613078e9afa512000b5255a1537..66075178b77c2a24c003900eb56edf7d79627048 100644 +index 3aab8856b07389a8d7a06a9f66f21771a3f2d122..e191e25784e4867be98032ed5029d280934c9652 100644 --- a/net/minecraft/world/entity/player/Player.java +++ b/net/minecraft/world/entity/player/Player.java -@@ -2300,18 +2300,18 @@ public abstract class Player extends LivingEntity { - Predicate supportedHeldProjectiles = ((ProjectileWeaponItem)shootable.getItem()).getSupportedHeldProjectiles().and(item -> this.tryReadyArrow(shootable, item)); // Paper - PlayerReadyArrowEvent +@@ -2306,19 +2306,19 @@ public abstract class Player extends LivingEntity { + Predicate supportedHeldProjectiles = ((ProjectileWeaponItem)shootable.getItem()).getSupportedHeldProjectiles().and(item -> this.tryReadyArrow(shootable, item, anyEventCancelled)); // Paper - PlayerReadyArrowEvent ItemStack heldProjectile = ProjectileWeaponItem.getHeldProjectile(this, supportedHeldProjectiles); if (!heldProjectile.isEmpty()) { - return heldProjectile; + return getProjectile(shootable, heldProjectile, supportedHeldProjectiles); // Kiterino - Add EntityLoadsProjectileEvent } else { - supportedHeldProjectiles = ((ProjectileWeaponItem)shootable.getItem()).getAllSupportedProjectiles().and(item -> this.tryReadyArrow(shootable, item)); // Paper - PlayerReadyArrowEvent + supportedHeldProjectiles = ((ProjectileWeaponItem)shootable.getItem()).getAllSupportedProjectiles().and(item -> this.tryReadyArrow(shootable, item, anyEventCancelled)); // Paper - PlayerReadyArrowEvent for (int i = 0; i < this.inventory.getContainerSize(); i++) { ItemStack item = this.inventory.getItem(i); @@ -66,6 +66,7 @@ index 43657822f0660613078e9afa512000b5255a1537..66075178b77c2a24c003900eb56edf7d } } + if (anyEventCancelled.booleanValue() && !this.abilities.instabuild && this instanceof final ServerPlayer player) this.resyncUsingItem(player); // Paper - resync if no item matched the Predicate - return this.abilities.instabuild ? new ItemStack(Items.ARROW) : ItemStack.EMPTY; + return getProjectile(shootable, this.abilities.instabuild ? new ItemStack(Items.ARROW) : ItemStack.EMPTY, supportedHeldProjectiles); // Kiterino - Add EntityLoadsProjectileEvent } diff --git a/kiterino-server/minecraft-patches/features/0009-Add-EntityStartUsingItemEvent.patch b/kiterino-server/minecraft-patches/features/0009-Add-EntityStartUsingItemEvent.patch index 98e7a61..f589cde 100644 --- a/kiterino-server/minecraft-patches/features/0009-Add-EntityStartUsingItemEvent.patch +++ b/kiterino-server/minecraft-patches/features/0009-Add-EntityStartUsingItemEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add EntityStartUsingItemEvent diff --git a/net/minecraft/world/entity/LivingEntity.java b/net/minecraft/world/entity/LivingEntity.java -index 73884c567d7b97eefa529caaa2c582582f4c3cf7..8c7ad0d75c1dc726d27554f27e7f6076830307c2 100644 +index eecb0a58fb36dfdfc4143f3ff38a96e2f38ef0c0..f2e543ebb52a5e05d17973c20dc7bf95f0ec31a7 100644 --- a/net/minecraft/world/entity/LivingEntity.java +++ b/net/minecraft/world/entity/LivingEntity.java -@@ -4010,8 +4010,16 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -4028,8 +4028,16 @@ public abstract class LivingEntity extends Entity implements Attackable { ItemStack itemInHand = this.getItemInHand(hand); if (!itemInHand.isEmpty() && !this.isUsingItem() || forceUpdate) { // Paper - Prevent consuming the wrong itemstack this.useItem = itemInHand; diff --git a/kiterino-server/minecraft-patches/sources/net/minecraft/commands/Commands.java.patch b/kiterino-server/minecraft-patches/sources/net/minecraft/commands/Commands.java.patch index 6d5b123..e028a0a 100644 --- a/kiterino-server/minecraft-patches/sources/net/minecraft/commands/Commands.java.patch +++ b/kiterino-server/minecraft-patches/sources/net/minecraft/commands/Commands.java.patch @@ -8,7 +8,7 @@ import org.slf4j.Logger; public class Commands { -@@ -496,7 +_,7 @@ +@@ -511,7 +_,7 @@ private void runSync(ServerPlayer player, java.util.Collection bukkit, RootCommandNode rootCommandNode) { // Paper end - Perf: Async command map building new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent(player.getBukkitEntity(), (RootCommandNode) rootCommandNode, true).callEvent(); // Paper - Brigadier API diff --git a/kiterino-server/minecraft-patches/sources/net/minecraft/world/entity/Entity.java.patch b/kiterino-server/minecraft-patches/sources/net/minecraft/world/entity/Entity.java.patch index 9dcd0a3..888865f 100644 --- a/kiterino-server/minecraft-patches/sources/net/minecraft/world/entity/Entity.java.patch +++ b/kiterino-server/minecraft-patches/sources/net/minecraft/world/entity/Entity.java.patch @@ -8,7 +8,7 @@ public boolean wasTouchingWater; protected Object2DoubleMap> fluidHeight = new Object2DoubleArrayMap<>(2); protected boolean wasEyeInWater; -@@ -902,6 +_,12 @@ +@@ -903,6 +_,12 @@ this.clearFire(); } @@ -21,7 +21,7 @@ if (this.isInLava()) { this.lavaHurt(); this.fallDistance *= 0.5F; -@@ -3179,6 +_,21 @@ +@@ -3180,6 +_,21 @@ this.gameEvent(GameEvent.ENTITY_MOUNT, passenger); } } diff --git a/kiterino-server/paper-patches/features/0006-EMC-Allow-Vehicle-Passenger-Teleporting-for-Bukkit-A.patch b/kiterino-server/paper-patches/features/0006-EMC-Allow-Vehicle-Passenger-Teleporting-for-Bukkit-A.patch index 8b0875d..f5cb5c7 100644 --- a/kiterino-server/paper-patches/features/0006-EMC-Allow-Vehicle-Passenger-Teleporting-for-Bukkit-A.patch +++ b/kiterino-server/paper-patches/features/0006-EMC-Allow-Vehicle-Passenger-Teleporting-for-Bukkit-A.patch @@ -6,7 +6,7 @@ Subject: [PATCH] EMC - Allow Vehicle/Passenger Teleporting for Bukkit API If Bukkit teleport is called, teleport the whole set of entities together and maintain the chain. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 8b895b9b93d1b2731de98a24e18131d7d396ff02..97cecd7eb6cc9245bfe190f4f0e80cc4635ab166 100644 +index 08bbbb9de5743aed6dcd362e8d7862b8cd1bb5ba..10f942c65ffb9b406b7936eb20d25fd145ad3f2d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -251,6 +251,86 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -136,10 +136,10 @@ index 8b895b9b93d1b2731de98a24e18131d7d396ff02..97cecd7eb6cc9245bfe190f4f0e80cc4 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 67061306820025f278511872767f4d2078f20924..375fcca99227249772c640130cc0871a851d9faa 100644 +index a7355e673f2496654f0a20944263bbd7035b1993..02546b6554f1546b94f73e4d502a11db26a32df5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1437,13 +1437,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1438,13 +1438,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { Preconditions.checkArgument(location.getWorld() != null, "location.world"); // Paper start - Teleport passenger API // Don't allow teleporting between worlds while keeping passengers @@ -155,7 +155,7 @@ index 67061306820025f278511872767f4d2078f20924..375fcca99227249772c640130cc0871a return false; } // Paper end -@@ -1498,6 +1498,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1499,6 +1499,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().closeContainer(org.bukkit.event.inventory.InventoryCloseEvent.Reason.TELEPORT); // Paper - Inventory close reason } @@ -163,7 +163,7 @@ index 67061306820025f278511872767f4d2078f20924..375fcca99227249772c640130cc0871a // Check if the fromWorld and toWorld are the same. if (fromWorld == toWorld) { // Paper start - Teleport API -@@ -1514,9 +1515,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1515,9 +1516,22 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // The respawn reason should never be used if the passed location is non null. this.server.getHandle().respawn(entity, true, Entity.RemovalReason.CHANGED_DIMENSION, null, to); } diff --git a/kiterino-server/paper-patches/features/0009-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch b/kiterino-server/paper-patches/features/0009-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch index 615dbae..d26ffb3 100644 --- a/kiterino-server/paper-patches/features/0009-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch +++ b/kiterino-server/paper-patches/features/0009-Paper-PR-Add-FillBottleEvents-for-player-and-dispens.patch @@ -17,10 +17,10 @@ AreaEffectCloud. Co-authored-by: Dmitry Sidorov diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index cdc8eeadfdb15b59976440f4dc650edc76f0cfb5..6c3f2718abf7cb384105f505fdbcadc74a4bd5d2 100644 +index 807f784b857de1da9ac0b8dcbfc18ca14f7f8926..c56b9931dbec4ddf2ded091bd681bff75954ee24 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2287,4 +2287,18 @@ public class CraftEventFactory { +@@ -2289,4 +2289,18 @@ public class CraftEventFactory { return event; } // Paper end - add EntityFertilizeEggEvent diff --git a/kiterino-server/paper-patches/features/0011-Paper-PR-Add-Improved-Lidded-API.patch b/kiterino-server/paper-patches/features/0011-Paper-PR-Add-Improved-Lidded-API.patch index 52751cd..8868fd6 100644 --- a/kiterino-server/paper-patches/features/0011-Paper-PR-Add-Improved-Lidded-API.patch +++ b/kiterino-server/paper-patches/features/0011-Paper-PR-Add-Improved-Lidded-API.patch @@ -634,10 +634,10 @@ index f7b199fbc7a740de3ee6952ce12ef2c35f057d7a..8a9222ed563d11f5e77e1c796f098d67 + // Paper end - add Improved Lidded API } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 6c3f2718abf7cb384105f505fdbcadc74a4bd5d2..4512db1c89023517aba5cadd43122b70f2d4c140 100644 +index c56b9931dbec4ddf2ded091bd681bff75954ee24..5becb35e0fa14ec33083b267e2c369165eb4e3bd 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -2301,4 +2301,16 @@ public class CraftEventFactory { +@@ -2303,4 +2303,16 @@ public class CraftEventFactory { return event; } // Kiterino end - Paper PR - Add FillBottleEvents for player and dispenser diff --git a/kiterino-server/paper-patches/features/0012-Paper-PR-Improve-LootContext-API.patch b/kiterino-server/paper-patches/features/0012-Paper-PR-Improve-LootContext-API.patch index 804eb3e..a3b731a 100644 --- a/kiterino-server/paper-patches/features/0012-Paper-PR-Improve-LootContext-API.patch +++ b/kiterino-server/paper-patches/features/0012-Paper-PR-Improve-LootContext-API.patch @@ -127,12 +127,12 @@ index 0000000000000000000000000000000000000000..314ef91f5693ae1d9229b6fcefddde33 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftLootTable.java b/src/main/java/org/bukkit/craftbukkit/CraftLootTable.java -index 5fd22a80e9d05afbea273471cee991732a9485fd..9f85300a5dd0c7824dcf44763cc06aa5a9d9171b 100644 +index 4f29e9af057f5f885bbb83b130687272335a9ff6..a24a6fe709d32ae735d7b4d3d25848bf87ad7fb2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftLootTable.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftLootTable.java -@@ -101,6 +101,22 @@ public class CraftLootTable implements org.bukkit.loot.LootTable { +@@ -102,6 +102,22 @@ public class CraftLootTable implements org.bukkit.loot.LootTable { - private LootParams convertContext(LootContext context, Random random) { + private LootParams convertContext(LootContext context) { Preconditions.checkArgument(context != null, "LootContext cannot be null"); + // Paper start - Improve LootContext API + if (!context.isLegacy()) { @@ -144,16 +144,16 @@ index 5fd22a80e9d05afbea273471cee991732a9485fd..9f85300a5dd0c7824dcf44763cc06aa5 + // // .withRandom(new RandomSourceWrapper(random != null ? random : context.getRandom())) + // return contextBuilder.create(java.util.Optional.empty()); + } else { -+ return this.convertLegacyContext(context, random); ++ return this.convertLegacyContext(context); + } + } + @Deprecated -+ private LootParams convertLegacyContext(final LootContext context, final Random random) { ++ private LootParams convertLegacyContext(final LootContext context) { + // Paper end - Improve LootContext API Location loc = context.getLocation(); Preconditions.checkArgument(loc.getWorld() != null, "LootContext.getLocation#getWorld cannot be null"); ServerLevel handle = ((CraftWorld) loc.getWorld()).getHandle(); -@@ -151,6 +167,20 @@ public class CraftLootTable implements org.bukkit.loot.LootTable { +@@ -149,6 +165,20 @@ public class CraftLootTable implements org.bukkit.loot.LootTable { } public static LootContext convertContext(net.minecraft.world.level.storage.loot.LootContext info) { diff --git a/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftServer.java.patch b/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftServer.java.patch index 643bac3..c992b36 100644 --- a/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftServer.java.patch +++ b/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/CraftServer.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1102,6 +_,7 @@ +@@ -1103,6 +_,7 @@ org.spigotmc.SpigotConfig.init((File) this.console.options.valueOf("spigot-settings")); // Spigot this.console.paperConfigurations.reloadConfigs(this.console); org.purpurmc.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur - Purpur config files @@ -8,7 +8,7 @@ for (ServerLevel world : this.console.getAllLevels()) { // world.serverLevelData.setDifficulty(config.difficulty); // Paper - per level difficulty world.setSpawnSettings(world.serverLevelData.getDifficulty() != Difficulty.PEACEFUL && config.spawnMonsters); // Paper - per level difficulty (from MinecraftServer#setDifficulty(ServerLevel, Difficulty, boolean)) -@@ -3138,6 +_,13 @@ +@@ -3134,6 +_,13 @@ } // Purpur end - Purpur config files @@ -22,7 +22,7 @@ @Override public void restart() { org.spigotmc.RestartCommand.restart(); -@@ -3392,4 +_,20 @@ +@@ -3388,4 +_,20 @@ return getServer().lagging; } // Purpur end - Lagging threshold diff --git a/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractArrow.java.patch b/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractArrow.java.patch index 4dd7e66..2308a7e 100644 --- a/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractArrow.java.patch +++ b/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractArrow.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractArrow.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftAbstractArrow.java -@@ -185,4 +_,11 @@ +@@ -194,4 +_,11 @@ this.getHandle().projectileSource = shooter; } // Paper end - Fix PickupStatus getting reset diff --git a/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch b/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch index f838c73..8569df6 100644 --- a/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch +++ b/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3682,4 +_,42 @@ +@@ -3700,4 +_,42 @@ this.getHandle().connection.send(new net.minecraft.network.protocol.game.ClientboundPlayerCombatKillPacket(getEntityId(), io.papermc.paper.adventure.PaperAdventure.asVanilla(message))); } // Purpur end - Death screen API diff --git a/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java.patch b/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java.patch index 4e812fd..ae65bc1 100644 --- a/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java.patch +++ b/kiterino-server/paper-patches/files/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java.patch @@ -1,6 +1,6 @@ --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1566,7 +_,12 @@ +@@ -1568,7 +_,12 @@ } public static NotePlayEvent callNotePlayEvent(Level world, BlockPos pos, NoteBlockInstrument instrument, int note) {