From 930b419022eacc9f9c3f856b149d0d9616f281fe Mon Sep 17 00:00:00 2001 From: Lexi Larkin Date: Tue, 6 Dec 2022 16:54:38 -0500 Subject: [PATCH] Updated Upstream (Paper) Upstream has released updates that appear to apply and compile correctly Paper Changes: PaperMC/Paper@bd496d0 [ci skip] shuffle patches and rebuild PaperMC/Paper@79f2aa3 Update Velocity natives (#8387) PaperMC/Paper@21661a7 Fix jigsaw block kicking user (#8404) PaperMC/Paper@017af78 [ci skip] Added the missing "d" character (#8267) PaperMC/Paper@8a7dd61 Mark parsed PoiChunks with data as not loaded (#8405) PaperMC/Paper@7d3a882 Do not log throwable for duplicate entity adds PaperMC/Paper@8d69cfc Reduce allocation rate for checkBlock PaperMC/Paper@c6d7375 use BlockFormEvent for mud converting into clay (#8398) PaperMC/Paper@14c32bc Fix wrong yaw and pitch of CommandSourceStack#getBukkitLocation (#8411) PaperMC/Paper@f5fa691 Don't print full packages in new chunk system classes PaperMC/Paper@2534e5c Fix other jigsaw related disconnect bug (#8414) PaperMC/Paper@e9618f8 Add system property to dump stack on bad plugin class access (#8417) PaperMC/Paper@6d14093 Add getDrops to BlockState and isPreferredTool to BlockData (#8284) PaperMC/Paper@ec76e36 Fix a handful of vanilla bugs (#8187) PaperMC/Paper@ec3cfa9 Only create paper.yml-README.txt on config conversion (#8334) PaperMC/Paper@928bcc8 Updated Upstream (Bukkit/CraftBukkit) (#8430) PaperMC/Paper@616db71 Fix nothing mlg (#8432) PaperMC/Paper@011caa4 [ci skip] Minor patch cleanup PaperMC/Paper@15e1748 Avoid resizing of ArrayList in ChunkMap#getPlayers (#8416) PaperMC/Paper@ad3d357 Remove unnecessary onTrackingStart during nav warning PaperMC/Paper@9d63b07 Fix custom piglin interest items (#8097) PaperMC/Paper@ff67f1f EntityPickupItemEvent fixes (#8096) PaperMC/Paper@bcb4220 Correctly handle interactions with items on cooldown (#8008) PaperMC/Paper@60c973e Exempt players in creative/spectator from nether ceiling damage (#8427) PaperMC/Paper@77a50b9 Add Unmodifiable annotations to getDrops methods (#8440) PaperMC/Paper@c389b1c Fix configs that relied on outdated min/max y levels (#6986) PaperMC/Paper@57555b8 Add missing structure set seed configs (#8030) PaperMC/Paper@b097a24 Expose isUnderWater to Entity (#8454) PaperMC/Paper@6b26cfc Add missing Entity + Projectile API (#7632) PaperMC/Paper@de2d2d4 Add PlayerInventorySlotChangeEvent (#7321) PaperMC/Paper@f7c8d79 Fix stacktrace in server tests PaperMC/Paper@b9cf1ac Fix a classloading issue in tests (#8459) PaperMC/Paper@7fe34e9 Make CraftMinecartTNT public PaperMC/Paper@514a606 Elder Guardian appearance API (#8455) PaperMC/Paper@2094011 Update settings directory path in exceptions (#7968) PaperMC/Paper@0bdf997 Avoid cycle deprecation (#8466) PaperMC/Paper@eb68bd4 Allow changing bed's 'occupied' property (#8458) PaperMC/Paper@b560034 Avoid usages of RecipeChoice#getItemStack() (#8453) PaperMC/Paper@603df98 FIx bedrock patterns (#8474) PaperMC/Paper@ec00f99 Fix package for PlayerInventorySlotChangeEvent (#8475) PaperMC/Paper@236a296 Add LivingEntity#swingHand(EquipmentSlot) convenience method (#8456) PaperMC/Paper@7d64d7c Add converted Slot number to PlayerInventorySlotChangeEvent (#8482) PaperMC/Paper@ed2c88b Add LivingEntity knockback API (#8479) PaperMC/Paper@e1d4b26 Fix another case of missing chat headers PaperMC/Paper@f7da209 Fix inconsistent isChunkLoaded calls PaperMC/Paper@3dcfec4 Add stacktrace deobfuscation in more places (#8484) PaperMC/Paper@eb49418 [ci skip] Update workflow dependencies (#8489) PaperMC/Paper@a163a96 Load Allay duplication cooldown as a long (#8410) PaperMC/Paper@7187cab Detect headless JREs (#8491) PaperMC/Paper@60da35e fixed entity vehicle collision event not called (#5053) PaperMC/Paper@5cdb5f9 Optimized dirt and snow spreading (#5124) PaperMC/Paper@3d50709 Add MaterialTags for the different Types of Tools (#8049) PaperMC/Paper@6ea5aa3 Added EntityToggleSitEvent (#7579) PaperMC/Paper@58483c1 Add fire-tick-delay option (#8037) PaperMC/Paper@4e67c73 Add config setting for grindstone overstacking (#8156) PaperMC/Paper@d713b47 Add EquipmentSlot convenience methods (#8477) PaperMC/Paper@6665076 Add Moving Piston API (#7019) PaperMC/Paper@0b8f40c Don't fire EntityToggleSitEvent on deserialization & reorder some api patches (#8495) PaperMC/Paper@05bd9d6 Ignore impossible spawn tick (#8493) PaperMC/Paper@b8131a0 Mark chunks as saved after saving them PaperMC/Paper@44ce9b3 Updated Upstream (Bukkit/Spigot) (#8445) PaperMC/Paper@1c1aeb2 Only limit global sounds to same world if limiting radius (#8499) PaperMC/Paper@519cb4b Move classes added to net.minecraft.server to paper packages (#8500) PaperMC/Paper@fc5ae5b Fix incorrect handling of mustNotSave PaperMC/Paper@25cd3ee Add dirty flag to chunk tick lists PaperMC/Paper@7b3b593 [ci skip] Update checkout action in workflow (#8510) PaperMC/Paper@36869cc Fix new block data in EntityChangeBlockEvent for silverfish when mobGriefing isn't enabled (#8099) PaperMC/Paper@2432233 Add allow server listing & text filtering client options (#7595) PaperMC/Paper@954e6f0 Fix a bunch more forceDrops for dropping items (#8095) PaperMC/Paper@32d95e9 Track projectile source for fireworks from dispensers (#8044) PaperMC/Paper@0249750 Fix EntityArgument suggestion permissions to align with EntitySelector#checkPermissions (#8511) PaperMC/Paper@8acb05d Make CommandSyntaxException implement ComponentMessageThrowable (#8513) PaperMC/Paper@c264018 [ci skip] Undo modification to removed patches in latest commit (#8512) PaperMC/Paper@304ab35 [ci skip] Remove old todo file PaperMC/Paper@8a4b752 Fix wrong descriptor in ASMEventExecutorGenerator (#8506) PaperMC/Paper@b743144 Fix MC-147659 (#8423) PaperMC/Paper@aaf5e39 Deprecate unused VehicleEntityCollisionEvent methods (#8498) PaperMC/Paper@13cf546 Fix pumpkin growth modifier (#8517) PaperMC/Paper@b3b04f2 Updated Upstream (Bukkit/CraftBukkit/Spigot) (#8515) PaperMC/Paper@93b2246 Fix EntityCombustEvent cancellation issues (#8529) PaperMC/Paper@4a9c9b3 Build updates PaperMC/Paper@e30b082 Fix setting difficulity inside of API (Fixes #8533) PaperMC/Paper@ebc0f6b Call PlayerLaunchProjectileEvent for trident (#8027) PaperMC/Paper@ab1c072 Remove old redundant fix (#8530) PaperMC/Paper@8ee344f [ci-skip] Rename Paper stop tp Paper end. (#8539) PaperMC/Paper@3d15120 Fix Advancement#getDisplay() api break (#8541) PaperMC/Paper@2b47227 Update Commodore modifications (#8542) PaperMC/Paper@df5fb94 Properly resend entities (#7041) PaperMC/Paper@3e9f39f Prevent compass from loading chunks PaperMC/Paper@3ac1a8d Cleanup misc import from last commit PaperMC/Paper@e6ee4cd Updated Upstream (CraftBukkit) (#8548) PaperMC/Paper@117579c Add PrePlayerAttackEntityEvent (#8369) PaperMC/Paper@112fa18 Show exception when headless JRE detection is triggered (#8559) PaperMC/Paper@5f4952f Cleanup reputation API + back with an EnumMap instead of array (#8258) PaperMC/Paper@564356d ensure reset EnderDragon boss event name (#8562) PaperMC/Paper@7955bcc fix MC-252817 (green map markers do not dissappear) (#8545) PaperMC/Paper@e22dacf update yarn param mappings (#8563) PaperMC/Paper@2151112 Fix/improve Affects Spawning API (#7329) PaperMC/Paper@84b5d4a Reorder bukkit damage source entity for explosion (#8553) PaperMC/Paper@b4c1ae6 Fix MC-121048 (#8429) PaperMC/Paper@825cb43 [ci skip] Add .fleet/ folder to .gitignore (#8574) PaperMC/Paper@669fed4 Fix MC-179072 (#8421) PaperMC/Paper@8f498dc Sync chunk load command improvements (#8554) PaperMC/Paper@3299886 [ci skip] Add TheFruxz to the license MIT list (#8575) PaperMC/Paper@0a6f100 Add more collision code skipping logic (#7581) PaperMC/Paper@76503f8 Strip coordinates from lodestone compasses (#8561) PaperMC/Paper@b95d4b2 Moving ATs from the at file to individual patches (#8573) PaperMC/Paper@4a3ae59 [ci skip] Add check for git repo (#8578) PaperMC/Paper@a7df847 Add Player Warden Warning API (#8470) PaperMC/Paper@3ab194e Avoid a cubed max search distance for POIs (#8576) PaperMC/Paper@55a16d8 Fix Varint21FrameDecoder cached length buf usage PaperMC/Paper@e6e37ba Add api to resolve components (#7648) PaperMC/Paper@7168438 [ci skip] Rework workflows to support optional paperclip build (#8583) PaperMC/Paper@da230d5 More vanilla friendly methods to update trades (#8478) PaperMC/Paper@8aff07a Add /paper dumplisteners command (#8507) PaperMC/Paper@b8919a7 pr command action fixes (#8591) PaperMC/Paper@185fa48 Fix chest relooting mechanics (#8580) PaperMC/Paper@b4beac0 Fixes potential issues arising from optimizing getPlayerByUUID (#8585) PaperMC/Paper@f637b1a Fix async entity add due to fungus trees (#7626) PaperMC/Paper@414ea80 ItemStack damage API (#7801) PaperMC/Paper@d98c370 Add displayName methods for advancements (#8584) PaperMC/Paper@44bb599 Add Tick TemporalUnit (#5445) PaperMC/Paper@9f7eef8 Friction API (#6611) PaperMC/Paper@4048d3e Allow using degrees for ArmorStand rotations (#7847) PaperMC/Paper@f59c802 Schoolable Fish API (#7089) PaperMC/Paper@21b964a Added ability to control player's insomnia and phantoms spawning (#6500) PaperMC/Paper@f1583fc Add `/paper dumplisteners tofile` and increase detail of command output (#8592) PaperMC/Paper@28b4027 Fix packet duplicating at some points (#8566) PaperMC/Paper@309133e Fix preemptive connection dropping during shutdown process (#8546) PaperMC/Paper@8796175 Handle legacy quirk in the console formatter (#8434) PaperMC/Paper@54daefa Fix whitespace error in recent patch PaperMC/Paper@41ab602 [ci skip] couple more fixes for build pr jar label (#8599) PaperMC/Paper@c40f8d5 Sync offhand slot in menus (#7341) PaperMC/Paper@425baed Fully deserialise persistent anger post async load (#8560) PaperMC/Paper@ec6a9a3 Updated Upstream (Bukkit/CraftBukkit) (#8604) PaperMC/Paper@96fdafd Player Entity Tracking Events (#4722) PaperMC/Paper@407a445 Fix dumplisteners missing folder creation PaperMC/Paper@b07d5e0 Limit pet look distance (#8612) PaperMC/Paper@476ef25 Add missing Fluid type (#8608) --- build.gradle.kts | 4 +-- gradle.properties | 2 +- patches/api/0001-Add-Getter-interfaces.patch | 25 ++++++++------- ...0006-Add-UnsafeValues-canPlaceItemOn.patch | 4 +-- patches/api/0007-Expose-NMS-ordinals.patch | 4 +-- patches/server/0001-Build-changes.patch | 14 ++++----- patches/server/0003-Add-SoundEvent.patch | 24 +++++++------- ...location-to-EntityDamageByBlockEvent.patch | 14 ++++----- ...0006-Add-UnsafeValues-canPlaceItemOn.patch | 6 ++-- .../0007-Expose-EntityType-Ordinals.patch | 8 ++--- .../0008-Add-Player-setGameProfile.patch | 4 +-- .../server/0009-Expose-MCUtil-Executors.patch | 6 ++-- .../0011-Add-BlockDropResourcesEvent.patch | 6 ++-- ...3-Disable-sleep-status-announcements.patch | 4 +-- ...d-config-for-ticking-TIME_SINCE_REST.patch | 6 ++-- ...016-Add-Player-getHiddenEntities-API.patch | 4 +-- .../server/0019-Expanded-Insomnia-API.patch | 31 ++++++++++--------- .../0020-Add-spam-bypass-permission.patch | 6 ++-- .../0021-Disable-set-respawn-message.patch | 4 +-- 19 files changed, 89 insertions(+), 87 deletions(-) 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