diff --git a/build.gradle.kts b/build.gradle.kts index 42288b1..6e1684a 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -4,7 +4,7 @@ plugins { java `maven-publish` id("com.github.johnrengelman.shadow") version "7.1.2" apply false - id("io.papermc.paperweight.patcher") version "1.3.8" + id("io.papermc.paperweight.patcher") version "1.3.11" } repositories { @@ -15,7 +15,7 @@ repositories { } dependencies { - remapper("net.fabricmc:tiny-remapper:0.8.2:fat") + remapper("net.fabricmc:tiny-remapper:0.8.6:fat") decompiler("net.minecraftforge:forgeflower:1.5.605.7") paperclip("io.papermc:paperclip:3.0.2") } diff --git a/gradle.properties b/gradle.properties index a66b5fe..fd1f705 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group = gg.projecteden.parchment version = 1.19.2-R0.1-SNAPSHOT mcVersion = 1.19.2 -paperRef = 1bbd273bbd65753ba71f14029b18d85f4a249820 +paperRef = 476ef25d053c523aea416487a38f72011d72a9cf org.gradle.caching=true org.gradle.parallel=true diff --git a/patches/api/0001-Add-Getter-interfaces.patch b/patches/api/0001-Add-Getter-interfaces.patch index ad823f7..3fefa91 100644 --- a/patches/api/0001-Add-Getter-interfaces.patch +++ b/patches/api/0001-Add-Getter-interfaces.patch @@ -533,7 +533,7 @@ index 9930ebe7a23d306c602840fd43652fbdaba481b3..531b8090a224c448c7316d77663d2cc2 /** * Gets the metadata for this block diff --git a/src/main/java/org/bukkit/block/BlockState.java b/src/main/java/org/bukkit/block/BlockState.java -index 10cbe71917bc32cca61748bcb0aa3395c554dbf8..280df0fc6f7344863f0fd2ba7592494bcd8bf2da 100644 +index 37ca7b6b0fcee8bec12026ec3715dcc47400cc11..eaf14ce470f041360082cbb0bc16247706b2cd77 100644 --- a/src/main/java/org/bukkit/block/BlockState.java +++ b/src/main/java/org/bukkit/block/BlockState.java @@ -20,7 +20,7 @@ import org.jetbrains.annotations.Nullable; @@ -572,7 +572,7 @@ index 2e17b2d4f759531fbe9ee8e9b00c839186af09ca..8f4a293c131cb8b63c31b410ffa211bd /** * This is the name of the specified AnimalTamer. diff --git a/src/main/java/org/bukkit/entity/Entity.java b/src/main/java/org/bukkit/entity/Entity.java -index 6dd81f07ef4d6993187987d3352a01771ffb715e..8e79cdd0435dc7ec42566af24670f29ff78adb4e 100644 +index 33a6b7a27dc91552799c07a7aad9b3df31ad13f7..04626febc2f141c2774de98694761f010a0b0c6a 100644 --- a/src/main/java/org/bukkit/entity/Entity.java +++ b/src/main/java/org/bukkit/entity/Entity.java @@ -27,7 +27,7 @@ import org.jetbrains.annotations.Nullable; @@ -606,7 +606,7 @@ index 3b204144e2d245098b3dc23b8779f9ed817bb6d1..2d5a09bb8f31d6234ca8a3f343d45eee // Paper start @Override diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 1d98abff1ad0116f7a2599f078aa730cb84843c1..cea29fd3c3ea6b3f2e6d2f89022cc4f4fdab93b2 100644 +index 1e27b9de47f111b9c000243214e22890e323f7fc..56e979e2083199cc68b0381ed51733397cb230be 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -42,7 +42,17 @@ import org.jetbrains.annotations.Nullable; @@ -788,10 +788,10 @@ index 10d0e18dfd423b108fe381e8142867eb10399359..7f9f266057de42261fa06e4874d7bec5 private boolean cancel; private final Location location; diff --git a/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java b/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java -index ea8f9ed43d8e4158e6c9c345252a94a5000c5561..98d308eda8287cb1f1a0aab5208c7c6f13047c05 100644 +index 327876e0ad7dcfeb71d9d22afe1c04bcd71c3bf9..466a54c4e30a7886e7383f43f9b6c389a5bdba7c 100644 --- a/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityPlaceEvent.java -@@ -16,7 +16,7 @@ import org.jetbrains.annotations.Nullable; +@@ -17,7 +17,7 @@ import org.jetbrains.annotations.Nullable; * Note that this event is currently only fired for four specific placements: * armor stands, boats, minecarts, and end crystals. */ @@ -840,10 +840,10 @@ index 6fc66197eb2c5d59c70d8d028b7963748371edbe..dc45ec5b6ae8e2958d83a113d23ab0b1 private boolean canceled; private final Location location; diff --git a/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java b/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java -index 5eb3fb72a13881b8bf0e40037b0002cb0a6eb883..4d5d0b730ad957e44f549518366841492b537ab2 100644 +index 883d54dc0cc32973df5d66f2991d1af8150add43..2f56d30b58387128931c563c2d67c759faf1b488 100644 --- a/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java +++ b/src/main/java/org/bukkit/event/entity/PlayerLeashEntityEvent.java -@@ -10,7 +10,7 @@ import org.jetbrains.annotations.NotNull; +@@ -11,7 +11,7 @@ import org.jetbrains.annotations.NotNull; /** * Called immediately prior to a creature being leashed by a player. */ @@ -853,10 +853,10 @@ index 5eb3fb72a13881b8bf0e40037b0002cb0a6eb883..4d5d0b730ad957e44f54951836684149 private final Entity leashHolder; private final Entity entity; diff --git a/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java b/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java -index 1bcff119ecd95012c568c777e5ca2e891e56831e..517f115123fa2009ba0837b0754411e93808562f 100644 +index cc5781f276ec0a503b1bfef19d630c85db897c2a..89b38f2ce9a355f39abc657eff49c3a58f1b6471 100644 --- a/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java +++ b/src/main/java/org/bukkit/event/hanging/HangingPlaceEvent.java -@@ -13,7 +13,7 @@ import org.jetbrains.annotations.Nullable; +@@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable; /** * Triggered when a hanging entity is created in the world */ @@ -944,18 +944,19 @@ index 6800132c6288b4588fd02b08d26f016c38f27129..8e333a361cdee30a83e9472285dfb0b3 private Result result; private net.kyori.adventure.text.Component message; // Paper diff --git a/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java b/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java -index 68eab1563caba1ee4f52b308f390e4e172667fc5..7f2be08b1e7b6df4bab8a8996bc276f369a8ff78 100644 +index d63bd62606763d0902ea800f0c35a1cfd07fc8ec..97bb62b616f8f08ec697c14681ffe6d89934b526 100644 --- a/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java +++ b/src/main/java/org/bukkit/event/player/PlayerUnleashEntityEvent.java -@@ -9,7 +9,7 @@ import org.jetbrains.annotations.NotNull; +@@ -10,8 +10,7 @@ import org.jetbrains.annotations.NotNull; /** * Called prior to an entity being unleashed due to a player's action. */ -public class PlayerUnleashEntityEvent extends EntityUnleashEvent implements Cancellable { +- +public class PlayerUnleashEntityEvent extends EntityUnleashEvent implements Cancellable, gg.projecteden.parchment.HasPlayer { // Parchment - private final Player player; private boolean cancelled = false; + private final Player player; diff --git a/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java b/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java index 128e43cf12205f82f2b119a773208502cdccfdd4..ca1fed3081e2b0a3271a2dfa0f49cce78bdb8e23 100644 --- a/src/main/java/org/bukkit/event/raid/RaidTriggerEvent.java diff --git a/patches/api/0006-Add-UnsafeValues-canPlaceItemOn.patch b/patches/api/0006-Add-UnsafeValues-canPlaceItemOn.patch index ede078e..d75f792 100644 --- a/patches/api/0006-Add-UnsafeValues-canPlaceItemOn.patch +++ b/patches/api/0006-Add-UnsafeValues-canPlaceItemOn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add UnsafeValues#canPlaceItemOn diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 88acc4d2bd56748630840dc9f1c2cb253711eb38..780b15b4a06c521216fff7be5a2ec76c155aa919 100644 +index 854be548e5a645e7312e6e9390d5255f8b1d61e6..9fdcb933788cb78306dc066b3bf6ed01a6316cd3 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -270,4 +270,17 @@ public interface UnsafeValues { +@@ -271,4 +271,17 @@ public interface UnsafeValues { */ void setBiomeKey(RegionAccessor accessor, int x, int y, int z, NamespacedKey biomeKey); // Paper end diff --git a/patches/api/0007-Expose-NMS-ordinals.patch b/patches/api/0007-Expose-NMS-ordinals.patch index 023d044..8ef388c 100644 --- a/patches/api/0007-Expose-NMS-ordinals.patch +++ b/patches/api/0007-Expose-NMS-ordinals.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Expose NMS ordinals diff --git a/src/main/java/org/bukkit/UnsafeValues.java b/src/main/java/org/bukkit/UnsafeValues.java -index 780b15b4a06c521216fff7be5a2ec76c155aa919..1d43d3d49f30146f301a51b2b076f6616b9e27ae 100644 +index 9fdcb933788cb78306dc066b3bf6ed01a6316cd3..606ae769ea443853c0d236f5bac5429467190778 100644 --- a/src/main/java/org/bukkit/UnsafeValues.java +++ b/src/main/java/org/bukkit/UnsafeValues.java -@@ -282,5 +282,12 @@ public interface UnsafeValues { +@@ -283,5 +283,12 @@ public interface UnsafeValues { * @return if the item can be placed */ java.util.concurrent.CompletableFuture canPlaceItemOn(@org.jetbrains.annotations.NotNull ItemStack item, @org.jetbrains.annotations.Nullable gg.projecteden.parchment.OptionalHumanEntity player, @org.jetbrains.annotations.NotNull org.bukkit.block.Block block, @org.jetbrains.annotations.NotNull org.bukkit.block.BlockFace face); diff --git a/patches/server/0001-Build-changes.patch b/patches/server/0001-Build-changes.patch index 39f71d5..a44e8cc 100644 --- a/patches/server/0001-Build-changes.patch +++ b/patches/server/0001-Build-changes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Build changes diff --git a/build.gradle.kts b/build.gradle.kts -index 2374cc9bab5039d0a0dc11d4b2ec573ab75778a7..b374a31d6ebe3eed93a8aa2df328962091188f84 100644 +index b0e4f11e8af4b909a56bb5576d05ef0537fb25f7..aeea1d8c2cb49b2a79577ad7eef88bcb207b6d07 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -9,8 +9,8 @@ plugins { +@@ -7,8 +7,8 @@ plugins { } dependencies { @@ -19,7 +19,7 @@ index 2374cc9bab5039d0a0dc11d4b2ec573ab75778a7..b374a31d6ebe3eed93a8aa2df3289620 // Paper start implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") -@@ -64,7 +64,7 @@ tasks.jar { +@@ -62,7 +62,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -28,7 +28,7 @@ index 2374cc9bab5039d0a0dc11d4b2ec573ab75778a7..b374a31d6ebe3eed93a8aa2df3289620 "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -81,7 +81,27 @@ tasks.jar { +@@ -79,7 +79,27 @@ tasks.jar { publishing { publications.create("maven") { @@ -57,7 +57,7 @@ index 2374cc9bab5039d0a0dc11d4b2ec573ab75778a7..b374a31d6ebe3eed93a8aa2df3289620 } } -@@ -163,7 +183,7 @@ fun TaskContainer.registerRunTask( +@@ -134,7 +154,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { @@ -104,7 +104,7 @@ index bf42969859545a8a520923ef1836ffa4a5cc24a0..2532e265c5dade55f71c34fcab6d1e74 org.bukkit.Bukkit.getLogger().warning("Version: " + org.bukkit.Bukkit.getBukkitVersion()); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ce81ba5345c8d2fde8a2534b9673275c7e86af8b..c4dc28dcc26e98d8252ee975ca0e192668617382 100644 +index 6dc6c3bccb4ba34268a87b0754c87eb1e0df4135..9a19e3e77eb44d443ba6576fe19cb7511d521923 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1654,7 +1654,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { ++ io.papermc.paper.util.MCUtil.asyncExecutor.execute(() -> { + if (!event.callEvent()) + return; + try { diff --git a/patches/server/0005-Add-origin-location-to-EntityDamageByBlockEvent.patch b/patches/server/0005-Add-origin-location-to-EntityDamageByBlockEvent.patch index 5bc23db..8d63c17 100644 --- a/patches/server/0005-Add-origin-location-to-EntityDamageByBlockEvent.patch +++ b/patches/server/0005-Add-origin-location-to-EntityDamageByBlockEvent.patch @@ -80,7 +80,7 @@ index 67bce77093dcc126098731047447da2031e3388d..051cf78fe9f7700e1f639c804f35903c return "DamageSource (" + this.msgId + ")"; } diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index 47d6236daca806878399890a8d08e55233f19fd9..343fe4de3067a451a02e1c68a726408ed81ec216 100644 +index b786bd5178a605a5dfb7682b7cb809646895aea3..d986103d2d20be4514ce91fe27e42d0f7f1ca72b 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -98,7 +98,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -101,10 +101,10 @@ index 47d6236daca806878399890a8d08e55233f19fd9..343fe4de3067a451a02e1c68a726408e this.setHealth(this.getMaxHealth()); this.noPhysics = true; diff --git a/src/main/java/net/minecraft/world/level/Explosion.java b/src/main/java/net/minecraft/world/level/Explosion.java -index 01477e7240f9e33d08d416a7d40ee10f3e5d4abf..e8e1501f31b27d2e4448475db46f98304874575f 100644 +index 31708d1e94b557896d42199aa0bc6ed26a4c6d8a..786d43a991b94a355d8f52e81f5aa41cc11cfcb1 100644 --- a/src/main/java/net/minecraft/world/level/Explosion.java +++ b/src/main/java/net/minecraft/world/level/Explosion.java -@@ -474,6 +474,13 @@ public class Explosion { +@@ -477,6 +477,13 @@ public class Explosion { return this.toBlow; } @@ -151,10 +151,10 @@ index 6be6adf73dc48ebbac22fe2a9be635f675f18cb1..e814c791137da2a10f4d4dd65f201fc2 public static boolean canSetSpawn(Level world) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 419d85a7561d8d5cecb1a79d6900c3f37e5b5faa..fca3f20f5cb5d709eb333423641bdc538e86ba42 100644 +index a37bc950d24acee9889aded042ed2bc3a0d76929..e9847ba8dde5b9efb5214973f1399460ddcf930f 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -969,7 +969,7 @@ public class CraftEventFactory { +@@ -970,7 +970,7 @@ public class CraftEventFactory { CraftEventFactory.entityDamage = null; EntityDamageEvent event; if (damager == null) { @@ -163,7 +163,7 @@ index 419d85a7561d8d5cecb1a79d6900c3f37e5b5faa..fca3f20f5cb5d709eb333423641bdc53 } else if (entity instanceof EnderDragon && /*PAIL FIXME ((EntityEnderDragon) entity).target == damager*/ false) { event = new EntityDamageEvent(entity.getBukkitEntity(), DamageCause.ENTITY_EXPLOSION, modifiers, modifierFunctions); } else { -@@ -1009,7 +1009,7 @@ public class CraftEventFactory { +@@ -1010,7 +1010,7 @@ public class CraftEventFactory { return CraftEventFactory.callEntityDamageEvent(damager, entity, cause, modifiers, modifierFunctions, cancelled, source.isCritical()); // Paper - add critical damage API } else if (source == DamageSource.OUT_OF_WORLD) { @@ -172,7 +172,7 @@ index 419d85a7561d8d5cecb1a79d6900c3f37e5b5faa..fca3f20f5cb5d709eb333423641bdc53 event.setCancelled(cancelled); CraftEventFactory.callEvent(event); if (!event.isCancelled()) { -@@ -1019,7 +1019,7 @@ public class CraftEventFactory { +@@ -1020,7 +1020,7 @@ public class CraftEventFactory { } return event; } else if (source == DamageSource.LAVA) { diff --git a/patches/server/0006-Add-UnsafeValues-canPlaceItemOn.patch b/patches/server/0006-Add-UnsafeValues-canPlaceItemOn.patch index 0200783..8317311 100644 --- a/patches/server/0006-Add-UnsafeValues-canPlaceItemOn.patch +++ b/patches/server/0006-Add-UnsafeValues-canPlaceItemOn.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add UnsafeValues#canPlaceItemOn diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 1628913b1e9b91e68dcd942a38da4aed95b12d4a..becf74479b423e6c750264469a1858b2530f516c 100644 +index 103ab25119bfcdd21eac7e1deeac025108e3c138..4743d462ce712e312decdb40fdfdfe6b71468b94 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -619,6 +619,55 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -624,6 +624,55 @@ public final class CraftMagicNumbers implements UnsafeValues { } // Paper end @@ -57,7 +57,7 @@ index 1628913b1e9b91e68dcd942a38da4aed95b12d4a..becf74479b423e6c750264469a1858b2 + return future; + } + final net.minecraft.world.item.context.BlockPlaceContext ctx = context; -+ return future.completeAsync(() -> blockItem.canPlace(ctx, blockState), net.minecraft.server.MCUtil.MAIN_EXECUTOR); ++ return future.completeAsync(() -> blockItem.canPlace(ctx, blockState), io.papermc.paper.util.MCUtil.MAIN_EXECUTOR); + } + // Parchment end + diff --git a/patches/server/0007-Expose-EntityType-Ordinals.patch b/patches/server/0007-Expose-EntityType-Ordinals.patch index b91b30d..04dc2f8 100644 --- a/patches/server/0007-Expose-EntityType-Ordinals.patch +++ b/patches/server/0007-Expose-EntityType-Ordinals.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose EntityType Ordinals diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index ac0f0a4da4282c13f6e1f37710cb615d66b8ef2c..aa98cea349a3929cbb29fa01962ae98d9136cda7 100644 +index 72516335570d7137a62ec8667a6e8f06f024692f..30c79796359c8f2fd4f04afdb863047ba95112a9 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java @@ -154,6 +154,8 @@ import org.slf4j.Logger; @@ -51,12 +51,12 @@ index ac0f0a4da4282c13f6e1f37710cb615d66b8ef2c..aa98cea349a3929cbb29fa01962ae98d return Registry.ENTITY_TYPE.getKey(type); } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index becf74479b423e6c750264469a1858b2530f516c..c00a36260319b956274b1cae7740777eea2a5791 100644 +index 4743d462ce712e312decdb40fdfdfe6b71468b94..776911b43156bf297b96fb3cc334383197559ae2 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -666,6 +666,18 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -671,6 +671,18 @@ public final class CraftMagicNumbers implements UnsafeValues { final net.minecraft.world.item.context.BlockPlaceContext ctx = context; - return future.completeAsync(() -> blockItem.canPlace(ctx, blockState), net.minecraft.server.MCUtil.MAIN_EXECUTOR); + return future.completeAsync(() -> blockItem.canPlace(ctx, blockState), io.papermc.paper.util.MCUtil.MAIN_EXECUTOR); } + + @Override diff --git a/patches/server/0008-Add-Player-setGameProfile.patch b/patches/server/0008-Add-Player-setGameProfile.patch index 245019e..66dac90 100644 --- a/patches/server/0008-Add-Player-setGameProfile.patch +++ b/patches/server/0008-Add-Player-setGameProfile.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Player#setGameProfile diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 7d982b7735c09d87d139c34d1cda5cbfb5327c5f..1b0eeb5df33bf68dff193117e6be8a0b88ea1392 100644 +index baa4aa10f40de237d44aa1e692657d2a36eb7a66..ce0b0a1fd49afcb3c88b26bd6b361c735cab0b09 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1512,6 +1512,12 @@ public abstract class Player extends LivingEntity { +@@ -1521,6 +1521,12 @@ public abstract class Player extends LivingEntity { return this.gameProfile; } diff --git a/patches/server/0009-Expose-MCUtil-Executors.patch b/patches/server/0009-Expose-MCUtil-Executors.patch index 87e791e..8f8744d 100644 --- a/patches/server/0009-Expose-MCUtil-Executors.patch +++ b/patches/server/0009-Expose-MCUtil-Executors.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expose MCUtil Executors diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index fb05258065969fef081f18d8eb4e3eadca785931..bb443fb4d1bcfc909236fd5b45163c10c803a7a8 100644 +index 53e4a8db9ff5619982dfb059de9e431dbe2edc57..e8da5c60be1aabfb4047177db0a15952af59325e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -2911,4 +2911,16 @@ public final class CraftServer implements Server { @@ -16,12 +16,12 @@ index fb05258065969fef081f18d8eb4e3eadca785931..bb443fb4d1bcfc909236fd5b45163c10 + // Parchment start + @Override + public java.util.concurrent.Executor getAsyncExecutor() { -+ return net.minecraft.server.MCUtil.asyncExecutor; ++ return io.papermc.paper.util.MCUtil.asyncExecutor; + } + + @Override + public java.util.concurrent.Executor getMainExecutor() { -+ return net.minecraft.server.MCUtil.MAIN_EXECUTOR; ++ return io.papermc.paper.util.MCUtil.MAIN_EXECUTOR; + } + // Parchment end } diff --git a/patches/server/0011-Add-BlockDropResourcesEvent.patch b/patches/server/0011-Add-BlockDropResourcesEvent.patch index 5655f0e..f7fb441 100644 --- a/patches/server/0011-Add-BlockDropResourcesEvent.patch +++ b/patches/server/0011-Add-BlockDropResourcesEvent.patch @@ -8,7 +8,7 @@ to easily get the items being dropped by any block instead of only blocks broken by players. diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index 224ce424b9a22548212ac157ec273c6dd80d6cfb..f33a8f7e46f9d88137de509e22d73edea3804cbe 100644 +index 2e65b44f10aeb44fd524a58e7eb815a566c1ad61..cdeecf0032db60385db19d6a6607da792f532a79 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -308,7 +308,7 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -48,10 +48,10 @@ index 224ce424b9a22548212ac157ec273c6dd80d6cfb..f33a8f7e46f9d88137de509e22d73ede }); state.spawnAfterBreak((ServerLevel) world, pos, stack, true); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index fca3f20f5cb5d709eb333423641bdc538e86ba42..5e17944a0b612bdb1df6b4a7e540a7afb64d83e6 100644 +index e9847ba8dde5b9efb5214973f1399460ddcf930f..13e30a3ad79df17c180ba95ab9f41eb39f93e726 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -1966,5 +1966,19 @@ public class CraftEventFactory { +@@ -1967,5 +1967,19 @@ public class CraftEventFactory { } }); } diff --git a/patches/server/0013-Disable-sleep-status-announcements.patch b/patches/server/0013-Disable-sleep-status-announcements.patch index 094a9b6..d931191 100644 --- a/patches/server/0013-Disable-sleep-status-announcements.patch +++ b/patches/server/0013-Disable-sleep-status-announcements.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable sleep status announcements diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 532c32dbec9b3e33adaf49aec8a96a3705376ce4..b21e88bc4c54c27dd7255b7c4051f78f8e5e7ab6 100644 +index f4c9ff697bc86e1410e916df19c4eccf05c8af71..4102e9345df8e1413a4efb13ac022dc4a092a715 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -954,7 +954,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -957,7 +957,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } private void announceSleepStatus() { diff --git a/patches/server/0014-Add-config-for-ticking-TIME_SINCE_REST.patch b/patches/server/0014-Add-config-for-ticking-TIME_SINCE_REST.patch index 19570ef..0b21279 100644 --- a/patches/server/0014-Add-config-for-ticking-TIME_SINCE_REST.patch +++ b/patches/server/0014-Add-config-for-ticking-TIME_SINCE_REST.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add config for ticking TIME_SINCE_REST diff --git a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -index e2c612dd55fcb2769fb06f7878b8d0873f2be139..e8df4b71ab6d3b8143a708d15e9b3d0495c0ee23 100644 +index 5982dda61e07f1661b0a68d0ba1fcc1122e8d428..0008c021d17b3333a5d4cc6fa954b24ede487e3e 100644 --- a/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java +++ b/src/main/java/io/papermc/paper/configuration/WorldConfiguration.java -@@ -252,6 +252,7 @@ public class WorldConfiguration extends ConfigurationPart { +@@ -255,6 +255,7 @@ public class WorldConfiguration extends ConfigurationPart { } public boolean disablePlayerCrits = false; @@ -17,7 +17,7 @@ index e2c612dd55fcb2769fb06f7878b8d0873f2be139..e8df4b71ab6d3b8143a708d15e9b3d04 public PillagerPatrols pillagerPatrols; diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 1b0eeb5df33bf68dff193117e6be8a0b88ea1392..c41925004c232eb8a5e1e000a9060254f074c3db 100644 +index ce0b0a1fd49afcb3c88b26bd6b361c735cab0b09..cf41ff3be41b576123457bcb1e613378b6cce4de 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -294,7 +294,7 @@ public abstract class Player extends LivingEntity { diff --git a/patches/server/0016-Add-Player-getHiddenEntities-API.patch b/patches/server/0016-Add-Player-getHiddenEntities-API.patch index 42b1212..c6a0435 100644 --- a/patches/server/0016-Add-Player-getHiddenEntities-API.patch +++ b/patches/server/0016-Add-Player-getHiddenEntities-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add Player#getHiddenEntities API diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index a508619e6855ee0b96a9bf61526b1b88abf0e732..4d2bd557175ed6f91bc93c0b2cf989a4e58bde44 100644 +index a5220a4e514865c70700527bcd2f941d852564c0..0950b5f97b3382d1e41da9837e1e0b7cce6ba1b4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1834,6 +1834,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1838,6 +1838,17 @@ public class CraftPlayer extends CraftHumanEntity implements Player { registerEntity(player); } } diff --git a/patches/server/0019-Expanded-Insomnia-API.patch b/patches/server/0019-Expanded-Insomnia-API.patch index cd92ca7..924e7b8 100644 --- a/patches/server/0019-Expanded-Insomnia-API.patch +++ b/patches/server/0019-Expanded-Insomnia-API.patch @@ -5,23 +5,24 @@ Subject: [PATCH] Expanded Insomnia API diff --git a/src/main/java/net/minecraft/world/entity/EntitySelector.java b/src/main/java/net/minecraft/world/entity/EntitySelector.java -index e39965c2e50bc8ee424ea07819346e0611398e28..752031332fa3d3d932b535cfb503197ce8d321be 100644 +index 72abebff2018cde2922e97ad6478f93da9aed3ec..c541e80f7ab6772bdd4074f5df7075502b144a31 100644 --- a/src/main/java/net/minecraft/world/entity/EntitySelector.java +++ b/src/main/java/net/minecraft/world/entity/EntitySelector.java -@@ -27,7 +27,10 @@ public final class EntitySelector { - return !entity.isSpectator(); - }; - public static final Predicate CAN_BE_COLLIDED_WITH = EntitySelector.NO_SPECTATORS.and(Entity::canBeCollidedWith); -- public static Predicate isInsomniac = (player) -> net.minecraft.util.Mth.clamp(((net.minecraft.server.level.ServerPlayer) player).getStats().getValue(net.minecraft.stats.Stats.CUSTOM.get(net.minecraft.stats.Stats.TIME_SINCE_REST)), 1, Integer.MAX_VALUE) >= 72000; // Paper -+ public static Predicate isInsomniac = (player) -> { -+ return net.minecraft.util.Mth.clamp(((net.minecraft.server.level.ServerPlayer) player).getStats().getValue(net.minecraft.stats.Stats.CUSTOM.get(net.minecraft.stats.Stats.TIME_SINCE_REST)), 1, Integer.MAX_VALUE) >= 72000 && // Paper -+ !((org.bukkit.entity.Player) player.getBukkitEntity()).doesBypassInsomnia(); // Parchment -+ }; +@@ -36,6 +36,12 @@ public final class EntitySelector { + return false; + } - private EntitySelector() {} - // Paper start ++ // Parchment start ++ if (((org.bukkit.entity.Player) player.getBukkitEntity()).doesBypassInsomnia()) { ++ return false; ++ } ++ // Parchment end ++ + return net.minecraft.util.Mth.clamp(serverPlayer.getStats().getValue(net.minecraft.stats.Stats.CUSTOM.get(net.minecraft.stats.Stats.TIME_SINCE_REST)), 1, Integer.MAX_VALUE) >= playerInsomniaTicks; + }; + // Paper end diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index c41925004c232eb8a5e1e000a9060254f074c3db..2966c5324c19066a5aa8a14183acca21209f96bd 100644 +index cf41ff3be41b576123457bcb1e613378b6cce4de..853deb219785787f78c6eecad6237893eba9f03f 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -294,7 +294,7 @@ public abstract class Player extends LivingEntity { @@ -34,7 +35,7 @@ index c41925004c232eb8a5e1e000a9060254f074c3db..2966c5324c19066a5aa8a14183acca21 } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4d2bd557175ed6f91bc93c0b2cf989a4e58bde44..371693b2f7778555b8c4b1cf8deb6ca08cfb4ed5 100644 +index 0950b5f97b3382d1e41da9837e1e0b7cce6ba1b4..b209c1b2e9a877af830c022756fd60c8c65ea8dd 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -73,6 +73,7 @@ import net.minecraft.server.level.ServerPlayer; @@ -53,7 +54,7 @@ index 4d2bd557175ed6f91bc93c0b2cf989a4e58bde44..371693b2f7778555b8c4b1cf8deb6ca0 public CraftPlayer(CraftServer server, ServerPlayer entity) { super(server, entity); -@@ -1911,6 +1913,33 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1915,6 +1917,33 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this; } diff --git a/patches/server/0020-Add-spam-bypass-permission.patch b/patches/server/0020-Add-spam-bypass-permission.patch index fd3eb11..007d555 100644 --- a/patches/server/0020-Add-spam-bypass-permission.patch +++ b/patches/server/0020-Add-spam-bypass-permission.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add spam bypass permission diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9eb921fec32afa360f3a402e978411fcf3ec618c..44557ac1d655cd7118419072eb34acfdf714a133 100644 +index d31a345edfffe39f127073fc3aec8b3489bae79c..65e3378860a20ebbbd7765ce7b83c97d01437d4b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -875,16 +875,19 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -29,7 +29,7 @@ index 9eb921fec32afa360f3a402e978411fcf3ec618c..44557ac1d655cd7118419072eb34acfd // Paper end // CraftBukkit end // Paper start - Don't suggest if tab-complete is disabled -@@ -2615,6 +2618,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2617,6 +2620,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic // Spigot start - spam exclusions private void detectRateSpam(String s) { @@ -37,7 +37,7 @@ index 9eb921fec32afa360f3a402e978411fcf3ec618c..44557ac1d655cd7118419072eb34acfd // CraftBukkit start - replaced with thread safe throttle boolean counted = true; for ( String exclude : org.spigotmc.SpigotConfig.spamExclusions ) -@@ -3393,10 +3397,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3396,10 +3400,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic public void handlePlaceRecipe(ServerboundPlaceRecipePacket packet) { // Paper start if (!org.bukkit.Bukkit.isPrimaryThread()) { diff --git a/patches/server/0021-Disable-set-respawn-message.patch b/patches/server/0021-Disable-set-respawn-message.patch index cc5f039..5e6561d 100644 --- a/patches/server/0021-Disable-set-respawn-message.patch +++ b/patches/server/0021-Disable-set-respawn-message.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable set respawn message diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9fae1cd71bfe8832a9294ac0f51e667776ba1744..dc231a14794b1975c2b845ac558f0cf44de39aeb 100644 +index 69b3524ebb197430e90a3519b8165e472e1cf823..1f6e7d43885c65d2b083190a2c088d71f2b78617 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2158,10 +2158,10 @@ public class ServerPlayer extends Player { +@@ -2200,10 +2200,10 @@ public class ServerPlayer extends Player { angle = (float) event.getLocation().getYaw(); forced = event.isForced(); // Paper end