diff --git a/README.md b/README.md index 9660ba25e..ddc75549f 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ ## Purpur [![MIT License](https://img.shields.io/github/license/PurpurMC/Purpur?&logo=github)](LICENSE) -[![Build Status](https://img.shields.io/github/actions/workflow/status/PurpurMC/Purpur/build.yml?branch=ver%2F1.20&event=push&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9bxSIVh1YQcYhQnSyIiuimVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APE0clJ0UVK/F9SaBHjwXE/3t173L0D/PUyU82OMUDVLCOViAuZ7KrQ9YogwujDEGYkZupzopiE5/i6h4+vdzGe5X3uz9Gj5EwG+ATiWaYbFvEG8dSmpXPeJ46woqQQnxOPGnRB4keuyy6/cS447OeZESOdmieOEAuFNpbbmBUNlXiSOKqoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5zEAksYgkiBMioooQyLMRo1UgxkaL9uId/wPGL5JLJVQIjxwIqUCE5fvA/+N2tmZ8Yd5NCcaDzxbY/hoGuXaBRs+3vY9tunACBZ+BKa/krdWD6k/RaS4seAb3bwMV1S5P3gMsdoP9JlwzJkQI0/fk88H5G35QFwrdA95rbW3Mfpw9AmrpK3gAHh8BIgbLXPd4dbO/t3zPN/n4Ax9dyyerighsAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfmCBMWBjFhOpnxAAACyklEQVQ4y32TXWgdZRCGn8k5Z3e/bzcJRFuoDRqIIPGniaSl1qgXKYhiLUgleFESW1qQ4g94oVKQJmga0ILRBuvfheJFIbY3SmzRFsWgQrTQFlRoKSVXgcMxJiS7++1ukvHiNKGU6FzNDO8MMw8zwn9Yz5c6anKeChxiMk599aq8sZ5Obk3sGNd7G5aZCHJ+Oj8gAwD9I3rSJmyvzLHz+HG5frO+vOaNa3NXiUkKQj9hQ1jQgWrlyCCV6gIdtmBjoJwbPqgL+R08PDQkCUADwD0TerqzxFTJY++vz0l7c0q/F7P5+aNUqyvM2CU2RAV7hsek3XPs3/QHF7/YrSfrDVQrxrErdESNNTYByAp3NmWUTYaGGSuho+QltAGYRdqilChMeKbO4Ijang5+CVJmbcr20PG3n9NiY6ZOvCW9ACMHdDLIeDDIqTWmtAQJV6OMyhOTsqWBQQo/hvP7pFcWeDxwtAQxGqbEq3isI7EOjRy3NyuPPHtOur0UXWMQZXgAX78uP3sJpTBmyHfsGDmotdF+rQWObq/gnSCm9PQ3chnA3qgRgL5jmjXlTM/n7Ny8yJXRY2IA3tur0yaHF8blLoAzj2kaNNBpZvk2iGntuiZBHWLOtXJC3hbzV5SxtDq6yZmzCXOrsRezHNa4YBzlKGN6bQXryD96W+4PU14zGbw/oLMf79EPbAI2g7M9+smP3fqPKVAT81LnFWnzM1y9gYC9gWtwTD6MEsq+Y8Lm7DMZ7cZxt5/T5xd8Fy5SfuC6fA4QZjdd8eEX9eLwAZ1StHKiT1MARStnHtWZH7bpjKIVgKutmipq50O94Mr6+9oKR8ekyy7x5qd9/NmYslynK4WfUjWOqiAFgElZmY+41BTzcrAkW9d9ptO9etgU7I8S3vVyDtkY/JzPwoxXzCJjt6Uy+r/fuGq/3affezkPRSniJ0y2zsqT6+n+BfRHKWgwbKNIAAAAAElFTkSuQmCC)](https://purpurmc.org/downloads/) +[![Build Status](https://img.shields.io/github/actions/workflow/status/PurpurMC/Purpur/build.yml?branch=ver%2F1.20.1&event=push&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9bxSIVh1YQcYhQnSyIiuimVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APE0clJ0UVK/F9SaBHjwXE/3t173L0D/PUyU82OMUDVLCOViAuZ7KrQ9YogwujDEGYkZupzopiE5/i6h4+vdzGe5X3uz9Gj5EwG+ATiWaYbFvEG8dSmpXPeJ46woqQQnxOPGnRB4keuyy6/cS447OeZESOdmieOEAuFNpbbmBUNlXiSOKqoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5zEAksYgkiBMioooQyLMRo1UgxkaL9uId/wPGL5JLJVQIjxwIqUCE5fvA/+N2tmZ8Yd5NCcaDzxbY/hoGuXaBRs+3vY9tunACBZ+BKa/krdWD6k/RaS4seAb3bwMV1S5P3gMsdoP9JlwzJkQI0/fk88H5G35QFwrdA95rbW3Mfpw9AmrpK3gAHh8BIgbLXPd4dbO/t3zPN/n4Ax9dyyerighsAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfmCBMWBjFhOpnxAAACyklEQVQ4y32TXWgdZRCGn8k5Z3e/bzcJRFuoDRqIIPGniaSl1qgXKYhiLUgleFESW1qQ4g94oVKQJmga0ILRBuvfheJFIbY3SmzRFsWgQrTQFlRoKSVXgcMxJiS7++1ukvHiNKGU6FzNDO8MMw8zwn9Yz5c6anKeChxiMk599aq8sZ5Obk3sGNd7G5aZCHJ+Oj8gAwD9I3rSJmyvzLHz+HG5frO+vOaNa3NXiUkKQj9hQ1jQgWrlyCCV6gIdtmBjoJwbPqgL+R08PDQkCUADwD0TerqzxFTJY++vz0l7c0q/F7P5+aNUqyvM2CU2RAV7hsek3XPs3/QHF7/YrSfrDVQrxrErdESNNTYByAp3NmWUTYaGGSuho+QltAGYRdqilChMeKbO4Ijang5+CVJmbcr20PG3n9NiY6ZOvCW9ACMHdDLIeDDIqTWmtAQJV6OMyhOTsqWBQQo/hvP7pFcWeDxwtAQxGqbEq3isI7EOjRy3NyuPPHtOur0UXWMQZXgAX78uP3sJpTBmyHfsGDmotdF+rQWObq/gnSCm9PQ3chnA3qgRgL5jmjXlTM/n7Ny8yJXRY2IA3tur0yaHF8blLoAzj2kaNNBpZvk2iGntuiZBHWLOtXJC3hbzV5SxtDq6yZmzCXOrsRezHNa4YBzlKGN6bQXryD96W+4PU14zGbw/oLMf79EPbAI2g7M9+smP3fqPKVAT81LnFWnzM1y9gYC9gWtwTD6MEsq+Y8Lm7DMZ7cZxt5/T5xd8Fy5SfuC6fA4QZjdd8eEX9eLwAZ1StHKiT1MARStnHtWZH7bpjKIVgKutmipq50O94Mr6+9oKR8ekyy7x5qd9/NmYslynK4WfUjWOqiAFgElZmY+41BTzcrAkW9d9ptO9etgU7I8S3vVyDtkY/JzPwoxXzCJjt6Uy+r/fuGq/3affezkPRSniJ0y2zsqT6+n+BfRHKWgwbKNIAAAAAElFTkSuQmCC)](https://purpurmc.org/downloads/) [![CodeFactor Grade](https://img.shields.io/codefactor/grade/github/PurpurMC/Purpur?logo=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8%2F9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9bxSIVh1YQcYhQnSyIiuimVShChVArtOpgcukXNGlIUlwcBdeCgx%2BLVQcXZ10dXAVB8APE0clJ0UVK%2FF9SaBHjwXE%2F3t173L0D%2FPUyU82OMUDVLCOViAuZ7KrQ9YogwujDEGYkZupzopiE5%2Fi6h4%2BvdzGe5X3uz9Gj5EwG%2BATiWaYbFvEG8dSmpXPeJ46woqQQnxOPGnRB4keuyy6%2FcS447OeZESOdmieOEAuFNpbbmBUNlXiSOKqoGuX7My4rnLc4q%2BUqa96TvzCU01aWuU5zEAksYgkiBMioooQyLMRo1UgxkaL9uId%2FwPGL5JLJVQIjxwIqUCE5fvA%2F%2BN2tmZ8Yd5NCcaDzxbY%2FhoGuXaBRs%2B3vY9tunACBZ%2BBKa%2FkrdWD6k%2FRaS4seAb3bwMV1S5P3gMsdoP9JlwzJkQI0%2Ffk88H5G35QFwrdA95rbW3Mfpw9AmrpK3gAHh8BIgbLXPd4dbO%2Ft3zPN%2Fn4Ax9dyyerighsAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfmCBMVKAA5pS6%2BAAABlElEQVQ4y82PP2gVQRDGf7N3t%2Bvdixpi0N5OELFKJ1iohBciKlgYJLX6YkBbC0sVooVFBAvBPw%2BFZzrJs7DR2iYHRhBsxNI8VLwUx92MRXJGxKCp9AfL7DfDfPutFO3z5wy5DuRlWU2OvLj7hduLYXh0ZSEkOh4SjUKiBK%2BEZP34Gu%2FtbebLE86Qa8BO4FDwyWmAbPjzMWACiNgEMdun6macwfJ6z2qxZYBI6ndAxR%2BRN%2FL1ZGeXlDqFkm%2Fv33nZjHZ0u2OZrw%2F7pBYf16Re8UEJ8VpNE33fP3BxgX%2BOFOOdtjmuGpoPtT51pNcrMZORx4%2FmslQnslAlWahItymZrz%2Bmqc4%2B2z%2B71BjE5uwesEeQsaLY%2FQp42LrfPUqwy2DNO03ZK9hN4Ehj4IDBjzjKCoC5aMDG9q%2BhBz%2BrWCN3KqptBtG89Xx%2BEWB1%2Bszr8OTBFMgkSLKWQAA%2BVCU3%2BK%2BQb%2B0LB4FLGHmrP39LNv3773Ei9IBphLnVduf4VhM4M9JGqGzc%2F5bYnDsrqlcQloaK0adbNfgOUn6NRlZZ46YAAAAASUVORK5CYII%3D)](https://www.codefactor.io/repository/github/PurpurMC/Purpur) [![Join us on Discord](https://discord.com/api/guilds/685683385313919172/widget.png?style=shield)](https://purpurmc.org/discord) @@ -27,7 +27,7 @@ Join us on Discord: ## Downloads Downloads can be obtained from the [downloads page](https://purpurmc.org/downloads/) or the [downloads API](https://api.purpurmc.org). -[![Build Status](https://img.shields.io/github/actions/workflow/status/PurpurMC/Purpur/build.yml?branch=ver%2F1.20&event=push&label=Downloads&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9bxSIVh1YQcYhQnSyIiuimVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APE0clJ0UVK/F9SaBHjwXE/3t173L0D/PUyU82OMUDVLCOViAuZ7KrQ9YogwujDEGYkZupzopiE5/i6h4+vdzGe5X3uz9Gj5EwG+ATiWaYbFvEG8dSmpXPeJ46woqQQnxOPGnRB4keuyy6/cS447OeZESOdmieOEAuFNpbbmBUNlXiSOKqoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5zEAksYgkiBMioooQyLMRo1UgxkaL9uId/wPGL5JLJVQIjxwIqUCE5fvA/+N2tmZ8Yd5NCcaDzxbY/hoGuXaBRs+3vY9tunACBZ+BKa/krdWD6k/RaS4seAb3bwMV1S5P3gMsdoP9JlwzJkQI0/fk88H5G35QFwrdA95rbW3Mfpw9AmrpK3gAHh8BIgbLXPd4dbO/t3zPN/n4Ax9dyyerighsAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfmCBMWBjFhOpnxAAACyklEQVQ4y32TXWgdZRCGn8k5Z3e/bzcJRFuoDRqIIPGniaSl1qgXKYhiLUgleFESW1qQ4g94oVKQJmga0ILRBuvfheJFIbY3SmzRFsWgQrTQFlRoKSVXgcMxJiS7++1ukvHiNKGU6FzNDO8MMw8zwn9Yz5c6anKeChxiMk599aq8sZ5Obk3sGNd7G5aZCHJ+Oj8gAwD9I3rSJmyvzLHz+HG5frO+vOaNa3NXiUkKQj9hQ1jQgWrlyCCV6gIdtmBjoJwbPqgL+R08PDQkCUADwD0TerqzxFTJY++vz0l7c0q/F7P5+aNUqyvM2CU2RAV7hsek3XPs3/QHF7/YrSfrDVQrxrErdESNNTYByAp3NmWUTYaGGSuho+QltAGYRdqilChMeKbO4Ijang5+CVJmbcr20PG3n9NiY6ZOvCW9ACMHdDLIeDDIqTWmtAQJV6OMyhOTsqWBQQo/hvP7pFcWeDxwtAQxGqbEq3isI7EOjRy3NyuPPHtOur0UXWMQZXgAX78uP3sJpTBmyHfsGDmotdF+rQWObq/gnSCm9PQ3chnA3qgRgL5jmjXlTM/n7Ny8yJXRY2IA3tur0yaHF8blLoAzj2kaNNBpZvk2iGntuiZBHWLOtXJC3hbzV5SxtDq6yZmzCXOrsRezHNa4YBzlKGN6bQXryD96W+4PU14zGbw/oLMf79EPbAI2g7M9+smP3fqPKVAT81LnFWnzM1y9gYC9gWtwTD6MEsq+Y8Lm7DMZ7cZxt5/T5xd8Fy5SfuC6fA4QZjdd8eEX9eLwAZ1StHKiT1MARStnHtWZH7bpjKIVgKutmipq50O94Mr6+9oKR8ekyy7x5qd9/NmYslynK4WfUjWOqiAFgElZmY+41BTzcrAkW9d9ptO9etgU7I8S3vVyDtkY/JzPwoxXzCJjt6Uy+r/fuGq/3affezkPRSniJ0y2zsqT6+n+BfRHKWgwbKNIAAAAAElFTkSuQmCC)](https://purpurmc.org/downloads/) +[![Build Status](https://img.shields.io/github/actions/workflow/status/PurpurMC/Purpur/build.yml?branch=ver%2F1.20.1&event=push&label=Downloads&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABhWlDQ1BJQ0MgcHJvZmlsZQAAKJF9kT1Iw0AcxV9bxSIVh1YQcYhQnSyIiuimVShChVArtOpgcukXNGlIUlwcBdeCgx+LVQcXZ10dXAVB8APE0clJ0UVK/F9SaBHjwXE/3t173L0D/PUyU82OMUDVLCOViAuZ7KrQ9YogwujDEGYkZupzopiE5/i6h4+vdzGe5X3uz9Gj5EwG+ATiWaYbFvEG8dSmpXPeJ46woqQQnxOPGnRB4keuyy6/cS447OeZESOdmieOEAuFNpbbmBUNlXiSOKqoGuX7My4rnLc4q+Uqa96TvzCU01aWuU5zEAksYgkiBMioooQyLMRo1UgxkaL9uId/wPGL5JLJVQIjxwIqUCE5fvA/+N2tmZ8Yd5NCcaDzxbY/hoGuXaBRs+3vY9tunACBZ+BKa/krdWD6k/RaS4seAb3bwMV1S5P3gMsdoP9JlwzJkQI0/fk88H5G35QFwrdA95rbW3Mfpw9AmrpK3gAHh8BIgbLXPd4dbO/t3zPN/n4Ax9dyyerighsAAAAGYktHRAAAAAAAAPlDu38AAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfmCBMWBjFhOpnxAAACyklEQVQ4y32TXWgdZRCGn8k5Z3e/bzcJRFuoDRqIIPGniaSl1qgXKYhiLUgleFESW1qQ4g94oVKQJmga0ILRBuvfheJFIbY3SmzRFsWgQrTQFlRoKSVXgcMxJiS7++1ukvHiNKGU6FzNDO8MMw8zwn9Yz5c6anKeChxiMk599aq8sZ5Obk3sGNd7G5aZCHJ+Oj8gAwD9I3rSJmyvzLHz+HG5frO+vOaNa3NXiUkKQj9hQ1jQgWrlyCCV6gIdtmBjoJwbPqgL+R08PDQkCUADwD0TerqzxFTJY++vz0l7c0q/F7P5+aNUqyvM2CU2RAV7hsek3XPs3/QHF7/YrSfrDVQrxrErdESNNTYByAp3NmWUTYaGGSuho+QltAGYRdqilChMeKbO4Ijang5+CVJmbcr20PG3n9NiY6ZOvCW9ACMHdDLIeDDIqTWmtAQJV6OMyhOTsqWBQQo/hvP7pFcWeDxwtAQxGqbEq3isI7EOjRy3NyuPPHtOur0UXWMQZXgAX78uP3sJpTBmyHfsGDmotdF+rQWObq/gnSCm9PQ3chnA3qgRgL5jmjXlTM/n7Ny8yJXRY2IA3tur0yaHF8blLoAzj2kaNNBpZvk2iGntuiZBHWLOtXJC3hbzV5SxtDq6yZmzCXOrsRezHNa4YBzlKGN6bQXryD96W+4PU14zGbw/oLMf79EPbAI2g7M9+smP3fqPKVAT81LnFWnzM1y9gYC9gWtwTD6MEsq+Y8Lm7DMZ7cZxt5/T5xd8Fy5SfuC6fA4QZjdd8eEX9eLwAZ1StHKiT1MARStnHtWZH7bpjKIVgKutmipq50O94Mr6+9oKR8ekyy7x5qd9/NmYslynK4WfUjWOqiAFgElZmY+41BTzcrAkW9d9ptO9etgU7I8S3vVyDtkY/JzPwoxXzCJjt6Uy+r/fuGq/3affezkPRSniJ0y2zsqT6+n+BfRHKWgwbKNIAAAAAElFTkSuQmCC)](https://purpurmc.org/downloads/) Downloads API endpoints: * List versions of Minecraft with builds available: @@ -67,7 +67,7 @@ Maven org.purpurmc.purpur purpur-api - 1.20-R0.1-SNAPSHOT + 1.20.1-R0.1-SNAPSHOT provided ``` @@ -80,7 +80,7 @@ repositories { ``` ```kotlin dependencies { - compileOnly("org.purpurmc.purpur:purpur-api:1.20-R0.1-SNAPSHOT") + compileOnly("org.purpurmc.purpur:purpur-api:1.20.1-R0.1-SNAPSHOT") } ``` diff --git a/gradle.properties b/gradle.properties index 07ca714c4..86ab27745 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,8 +1,8 @@ group = org.purpurmc.purpur -version = 1.20-R0.1-SNAPSHOT +version = 1.20.1-R0.1-SNAPSHOT -mcVersion = 1.20 -paperCommit = f4dfdcbb5b287b1f42b31cb3a2ddada9bbf81703 +mcVersion = 1.20.1 +paperCommit = 2e363c73ba3c0a7b3d5138ec55a6e93c7befb5bb org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0002-Purpur-config-files.patch b/patches/api/0002-Purpur-config-files.patch index a993285a1..bb15b08cb 100644 --- a/patches/api/0002-Purpur-config-files.patch +++ b/patches/api/0002-Purpur-config-files.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 1d1a1d087dabc9794e0062a064da2cced4062309..9fac86bb13066ff685378ef601857730bd74964b 100644 +index 5b225bbb128893d67251a96ab318035802a0cf76..861e193e7c1fe1b8e69e22b5c80f391701446bc5 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1994,6 +1994,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2007,6 +2007,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Paper end diff --git a/patches/api/0003-Purpur-client-support.patch b/patches/api/0003-Purpur-client-support.patch index 5198d9964..1a7f3b708 100644 --- a/patches/api/0003-Purpur-client-support.patch +++ b/patches/api/0003-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 997afb6739c72529ea8226228a9905d72f77c89a..dbc4ce2bd8b48f6af6f33d75100f089bc110f657 100644 +index 4ee0eb177f6b5765a9d7263576bb36c8a8366979..c3035f43078146875474c7f77cb7afd37fae3ff7 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3074,4 +3074,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3087,4 +3087,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Override Spigot spigot(); // Spigot end diff --git a/patches/api/0008-AFK-API.patch b/patches/api/0008-AFK-API.patch index 214ff4691..b6105e104 100644 --- a/patches/api/0008-AFK-API.patch +++ b/patches/api/0008-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index dbc4ce2bd8b48f6af6f33d75100f089bc110f657..5a303d33de32ce3c7480ab866703f70d1968b84b 100644 +index c3035f43078146875474c7f77cb7afd37fae3ff7..169a523eb11b899bd4a227c788750e4b226163c6 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3082,5 +3082,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3095,5 +3095,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return True if Player uses Purpur Client */ public boolean usesPurpurClient(); diff --git a/patches/api/0009-Bring-back-server-name.patch b/patches/api/0009-Bring-back-server-name.patch index fbee56e54..088077355 100644 --- a/patches/api/0009-Bring-back-server-name.patch +++ b/patches/api/0009-Bring-back-server-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Bring back server name diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index b0bc2df41506770e2854a287813f1c53f003eda1..f30ddfb1a5800542d456597b93d4ee66c7f1d2ee 100644 +index ef36d793ab77c7b7208f8f5994815599cff470d1..68b218e991c9d73f4ec52a1d5c6bba9140427472 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2483,4 +2483,15 @@ public final class Bukkit { +@@ -2500,4 +2500,15 @@ public final class Bukkit { public static Server.Spigot spigot() { return server.spigot(); } @@ -25,10 +25,10 @@ index b0bc2df41506770e2854a287813f1c53f003eda1..f30ddfb1a5800542d456597b93d4ee66 + // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 9fac86bb13066ff685378ef601857730bd74964b..4dcfe692385cdeb75309bdff4bd90fa6036b36c2 100644 +index 861e193e7c1fe1b8e69e22b5c80f391701446bc5..5a59443e3f8fce692af148bf01dd59cddcbe683a 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2174,4 +2174,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2187,4 +2187,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull org.bukkit.potion.PotionBrewer getPotionBrewer(); // Paper end diff --git a/patches/api/0012-Lagging-threshold.patch b/patches/api/0012-Lagging-threshold.patch index 1d930098e..08dbd889f 100644 --- a/patches/api/0012-Lagging-threshold.patch +++ b/patches/api/0012-Lagging-threshold.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index f30ddfb1a5800542d456597b93d4ee66c7f1d2ee..e71744ac7b773cc9cd46fd82566782f7d204f5d6 100644 +index 68b218e991c9d73f4ec52a1d5c6bba9140427472..a522ff41b59b8c929d85736318f838f72873dfd9 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2493,5 +2493,14 @@ public final class Bukkit { +@@ -2510,5 +2510,14 @@ public final class Bukkit { public static String getServerName() { return server.getServerName(); } @@ -24,10 +24,10 @@ index f30ddfb1a5800542d456597b93d4ee66c7f1d2ee..e71744ac7b773cc9cd46fd82566782f7 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 4dcfe692385cdeb75309bdff4bd90fa6036b36c2..d547a53c55b446b8c3389695123009f8a1d91192 100644 +index 5a59443e3f8fce692af148bf01dd59cddcbe683a..47d885c63af0339beb2e978ff2c1d91a19c70846 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2182,5 +2182,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2195,5 +2195,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull String getServerName(); diff --git a/patches/api/0014-Player-invulnerabilities.patch b/patches/api/0014-Player-invulnerabilities.patch index fc06b006d..d64c76b66 100644 --- a/patches/api/0014-Player-invulnerabilities.patch +++ b/patches/api/0014-Player-invulnerabilities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 1e8bc00d487e20cd493b478a092e92bc1704e13e..a4d7e28302ffa2e2afa26caecf55d2be05c17382 100644 +index 169a523eb11b899bd4a227c788750e4b226163c6..da270c17ce413e6a75e1007b93dd013be38f0148 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3101,5 +3101,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3114,5 +3114,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Reset the idle timer back to 0 */ void resetIdleTimer(); diff --git a/patches/api/0035-Added-the-ability-to-add-combustible-items.patch b/patches/api/0035-Added-the-ability-to-add-combustible-items.patch index 08c091662..bece07923 100644 --- a/patches/api/0035-Added-the-ability-to-add-combustible-items.patch +++ b/patches/api/0035-Added-the-ability-to-add-combustible-items.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added the ability to add combustible items diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index e71744ac7b773cc9cd46fd82566782f7d204f5d6..a4ecff25f1e43cc000751e41c73732d1130ded26 100644 +index a522ff41b59b8c929d85736318f838f72873dfd9..ad74599b144d0516eef8baccea3318e5d12913e7 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2502,5 +2502,24 @@ public final class Bukkit { +@@ -2519,5 +2519,24 @@ public final class Bukkit { public static boolean isLagging() { return server.isLagging(); } @@ -34,10 +34,10 @@ index e71744ac7b773cc9cd46fd82566782f7d204f5d6..a4ecff25f1e43cc000751e41c73732d1 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index d547a53c55b446b8c3389695123009f8a1d91192..6082415b34fbaa49693e13c9605560f6495549c3 100644 +index 47d885c63af0339beb2e978ff2c1d91a19c70846..4e9305099595c251f5d432c415fe3b60d9335eff 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2189,5 +2189,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2202,5 +2202,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return True if lagging */ boolean isLagging(); diff --git a/patches/api/0043-Debug-Marker-API.patch b/patches/api/0043-Debug-Marker-API.patch index 9a3070294..60872770c 100644 --- a/patches/api/0043-Debug-Marker-API.patch +++ b/patches/api/0043-Debug-Marker-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Debug Marker API diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index a4ecff25f1e43cc000751e41c73732d1130ded26..a2f617537292e3bac52d665a6e51b7d4ce4a227e 100644 +index ad74599b144d0516eef8baccea3318e5d12913e7..7d759a4725dbea992f078b6c1a60d9822bb268a3 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2521,5 +2521,89 @@ public final class Bukkit { +@@ -2538,5 +2538,89 @@ public final class Bukkit { public static void removeFuel(@NotNull Material material) { server.removeFuel(material); } @@ -99,10 +99,10 @@ index a4ecff25f1e43cc000751e41c73732d1130ded26..a2f617537292e3bac52d665a6e51b7d4 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 6082415b34fbaa49693e13c9605560f6495549c3..96160bced90bb4cd84e48c85c645cad0eb672b85 100644 +index 4e9305099595c251f5d432c415fe3b60d9335eff..15a0ae9744fa841e3e51e9e9a957cea8c71e68ad 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -2204,5 +2204,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -2217,5 +2217,75 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @param material The material that will no longer be a fuel */ public void removeFuel(@NotNull Material material); @@ -260,10 +260,10 @@ index d07b6f40c111c9b131f2995e9796d66f5344c5df..adf8169d5baefa7a33c33ef066180a81 /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index a4d7e28302ffa2e2afa26caecf55d2be05c17382..ca7a9098db4eb7ddcb72f1e14a81626de2c75811 100644 +index da270c17ce413e6a75e1007b93dd013be38f0148..e9fe4a91f8d0e64dad18435c89c5cc53e21c0d97 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3122,5 +3122,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3135,5 +3135,75 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param invulnerableTicks Invulnerable ticks remaining */ void setSpawnInvulnerableTicks(int invulnerableTicks); diff --git a/patches/api/0044-Add-death-screen-API.patch b/patches/api/0044-Add-death-screen-API.patch index 48e824c37..e3d707e99 100644 --- a/patches/api/0044-Add-death-screen-API.patch +++ b/patches/api/0044-Add-death-screen-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add death screen API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ca7a9098db4eb7ddcb72f1e14a81626de2c75811..7d54129ef393583df2fb2a4af81649be82eebdbe 100644 +index e9fe4a91f8d0e64dad18435c89c5cc53e21c0d97..84bd594baa2d72033b08ca79309b004d3c6807a2 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -3192,5 +3192,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -3205,5 +3205,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Clears all debug block highlights */ void clearBlockHighlights(); diff --git a/patches/server/0001-Rebrand.patch b/patches/server/0001-Rebrand.patch index 27748c56a..ddb65cbfb 100644 --- a/patches/server/0001-Rebrand.patch +++ b/patches/server/0001-Rebrand.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand diff --git a/build.gradle.kts b/build.gradle.kts -index e7a03ea1dab56e7725f718da0b44c736018ac995..59b94c7a3ca821c90adea832f97ece8a32f65034 100644 +index a0c5592530d2a59bfde87d1e9eb3752e7d4694da..af58d80d3c031dc00f8ac0e17b6a862b17eab97d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -7,8 +7,12 @@ plugins { @@ -23,7 +23,7 @@ index e7a03ea1dab56e7725f718da0b44c736018ac995..59b94c7a3ca821c90adea832f97ece8a // Paper start implementation("org.jline:jline-terminal-jansi:3.21.0") implementation("net.minecrell:terminalconsoleappender:1.3.0") -@@ -38,6 +42,10 @@ dependencies { +@@ -39,6 +43,10 @@ dependencies { } // Paper end @@ -34,7 +34,7 @@ index e7a03ea1dab56e7725f718da0b44c736018ac995..59b94c7a3ca821c90adea832f97ece8a runtimeOnly("org.apache.maven:maven-resolver-provider:3.9.2") runtimeOnly("org.apache.maven.resolver:maven-resolver-connector-basic:1.9.10") runtimeOnly("org.apache.maven.resolver:maven-resolver-transport-http:1.9.10") -@@ -62,7 +70,7 @@ tasks.jar { +@@ -63,7 +71,7 @@ tasks.jar { attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", @@ -43,7 +43,7 @@ index e7a03ea1dab56e7725f718da0b44c736018ac995..59b94c7a3ca821c90adea832f97ece8a "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -134,7 +142,7 @@ fun TaskContainer.registerRunTask( +@@ -135,7 +143,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { @@ -175,10 +175,10 @@ index abe37c7c3c6f5ab73afd738ec78f06d7e4d2ed96..b5b6657e52e4f7a630229bd3ba433438 stringbuilder.append(CrashReport.getErrorComment()); stringbuilder.append("\n\n"); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fb82bb52f219e7683fe1d3c0fb3acbe2251de8d4..7fe5d22b4c9eac832646780d4b5326edaca2979e 100644 +index 80cf4852e4010eeeadaf920ab927a40df0179b40..b5bf78380b6d3b93c5d4a0b94f4df6803a213f17 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -923,7 +923,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop viewDistances = new java.util.concurrent.atomic.AtomicReference<>(new io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.ViewDistances(-1, -1, -1)); public io.papermc.paper.chunk.system.RegionizedPlayerChunkLoader.PlayerChunkLoaderData chunkLoader; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ae82ab0e3d8e99f87ca8465fbcbb44b5ce18bf96..63d694edc25fcd33873fdbe7468a37b3be3f1b8d 100644 +index d9c2d06ae24dcf80a497e75f4c7f63d401b77f9b..ec3b1437d4bc8c21c596c53b665e3d8cb20f7f0e 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3502,6 +3502,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3505,6 +3505,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support @@ -28,7 +28,7 @@ index ae82ab0e3d8e99f87ca8465fbcbb44b5ce18bf96..63d694edc25fcd33873fdbe7468a37b3 @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { -@@ -3526,6 +3527,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3529,6 +3530,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause } @@ -43,10 +43,10 @@ index ae82ab0e3d8e99f87ca8465fbcbb44b5ce18bf96..63d694edc25fcd33873fdbe7468a37b3 try { byte[] data = new byte[packet.data.readableBytes()]; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e41f5417304f5b05fa7e2f6b6e1c0095e820f1cc..fb743a7ecd3e4b84ebee0c37894ccd46c3f7672f 100644 +index 03bb444705916ffe0b9eb4b7496524dc3459ebe0..9e7d5849489bbe6710681a61acb5fb28aea1187c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3147,4 +3147,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3138,4 +3138,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end diff --git a/patches/server/0006-Ridables.patch b/patches/server/0006-Ridables.patch index 30763c3a8..2370e062a 100644 --- a/patches/server/0006-Ridables.patch +++ b/patches/server/0006-Ridables.patch @@ -22,10 +22,10 @@ index 83cab746d1d6fe25c043c8aee28c39412b90c127..ec6b58dae525c81bbb1c0e2d96fbded6 super(x, y, z); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7fe5d22b4c9eac832646780d4b5326edaca2979e..1f08b8e81fd6dfa850ead13f2d45adb823a447ab 100644 +index b5bf78380b6d3b93c5d4a0b94f4df6803a213f17..3d2af8732f60b29619e3701acca9429c6d5a32f8 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1526,6 +1526,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper net.minecraft.world.level.block.entity.HopperBlockEntity.skipHopperEvents = worldserver.paperConfig().hopper.disableMoveEvent || org.bukkit.event.inventory.InventoryMoveItemEvent.getHandlerList().getRegisteredListeners().length == 0; // Paper worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper @@ -46,7 +46,7 @@ index 18aac3da3c88f33b1a71a5920a8daa27e9723913..a6acc178949f45c18009b5da2b8998cb final Throwable thr = new Throwable(entity + " Added to world at " + new java.util.Date()); io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.deobfuscateThrowable(thr); diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 15539499b5a0f16ad2d44c39c5b824876fdf0951..632af791c9c4c9d2fa84f46b0c28bb8089930ebe 100644 +index 41698264b3155f20f7a7d473a43aa2dab7ca61bb..77c38ea427dac0176941f8bc26ebe540c0dd4c02 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -751,6 +751,15 @@ public class ServerPlayer extends Player { @@ -66,10 +66,10 @@ index 15539499b5a0f16ad2d44c39c5b824876fdf0951..632af791c9c4c9d2fa84f46b0c28bb80 public void doTick() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 63d694edc25fcd33873fdbe7468a37b3be3f1b8d..c825027b644cbc70f5142c4c826eab6061ad4d41 100644 +index ec3b1437d4bc8c21c596c53b665e3d8cb20f7f0e..c7b9acaee1c14fde6d557c1068bf4544a282da24 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2805,6 +2805,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2808,6 +2808,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -79,7 +79,7 @@ index 63d694edc25fcd33873fdbe7468a37b3be3f1b8d..c825027b644cbc70f5142c4c826eab60 if ((entity instanceof Bucketable && entity instanceof LivingEntity && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { entity.getEntityData().resendPossiblyDesyncedEntity(player); // Paper - The entire mob gets deleted, so resend it. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ac795034342cabd85ccb62faf0adb10ee4ac1c00..f5de46130df5b6057e8b3b8a46843428f600b9f1 100644 +index 6bd894fa4617d5132a735d90fed89fcd36d330fc..c07db4a711fd15a461f13226a54929cf5991b7b8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -364,7 +364,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -191,7 +191,7 @@ index 759713f7c646aaf1a918c87a2834a1d405385dad..c6a06e07f0b4bb29b5f4c70dfa53ff6d protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 67627bbf84f5aab2872f636b1dcb6728c8494147..57317c6b848c598155928aa3ade9957201155787 100644 +index a189461330a4d427a7450d504ef13de3605497e3..dcf0a29c8736d9bc48e15f6cff84c45f8d2d2786 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -220,9 +220,9 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -224,7 +224,7 @@ index 67627bbf84f5aab2872f636b1dcb6728c8494147..57317c6b848c598155928aa3ade99572 @Override protected void checkFallDamage(double heightDifference, boolean onGround, BlockState state, BlockPos landedPosition) { -@@ -2671,7 +2672,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -2674,7 +2675,7 @@ public abstract class LivingEntity extends Entity implements Attackable { } protected long lastJumpTime = 0L; // Paper @@ -233,7 +233,7 @@ index 67627bbf84f5aab2872f636b1dcb6728c8494147..57317c6b848c598155928aa3ade99572 Vec3 vec3d = this.getDeltaMovement(); // Paper start long time = System.nanoTime(); -@@ -3443,8 +3444,10 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3446,8 +3447,10 @@ public abstract class LivingEntity extends Entity implements Attackable { this.pushEntities(); this.level().getProfiler().pop(); // Paper start @@ -246,7 +246,7 @@ index 67627bbf84f5aab2872f636b1dcb6728c8494147..57317c6b848c598155928aa3ade99572 Location from = new Location(this.level().getWorld(), this.xo, this.yo, this.zo, this.yRotO, this.xRotO); Location to = new Location (this.level().getWorld(), this.getX(), this.getY(), this.getZ(), this.getYRot(), this.getXRot()); io.papermc.paper.event.entity.EntityMoveEvent event = new io.papermc.paper.event.entity.EntityMoveEvent(this.getBukkitLivingEntity(), from, to.clone()); -@@ -3454,6 +3457,21 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3457,6 +3460,21 @@ public abstract class LivingEntity extends Entity implements Attackable { this.absMoveTo(event.getTo().getX(), event.getTo().getY(), event.getTo().getZ(), event.getTo().getYaw(), event.getTo().getPitch()); } } @@ -3429,7 +3429,7 @@ index 8f481e11815d7162dd62a2b850b3d2af6d904519..16486ece9fc415d875ff94d9b806b0b5 return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D); } diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index 4616addb05fcc20b1ec6ca1dea01cbefed697acd..57637dd43b109ec26bddf389d16452c573aecc07 100644 +index 5519ccf558c09f32e19b35f4b403fc9ed966ed65..f05c8b8201e3ccc853080b1afd2eecf17ee4a8a2 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java @@ -92,9 +92,27 @@ public class EnderMan extends Monster implements NeutralMob { @@ -5142,10 +5142,10 @@ index cc0a3d9794d05b6bc6ab05f4f2ab8d83134b181d..e1f918d0bd2a70db1aba8bda8717149f HitResult hitResult = world.clip(new ClipContext(pos, vec3, ClipContext.Block.COLLIDER, ClipContext.Fluid.NONE, entity)); if (hitResult.getType() != HitResult.Type.MISS) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index ea056babe2f8123f20dc608d8a636da1de634b8c..a820a00440510d77fa1839eef485f8ea2de9ff84 100644 +index 733158b6f2c2bd03fbe798562ff7bc33280548dc..70a7beb4c6be6304f8174d7c4c8a7b8866844b87 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1442,4 +1442,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1435,4 +1435,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return !this.getHandle().level().noCollision(this.getHandle(), aabb); } // Paper End - Collision API @@ -5174,7 +5174,7 @@ index ea056babe2f8123f20dc608d8a636da1de634b8c..a820a00440510d77fa1839eef485f8ea + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index a9a58f0bb19e034cffdafcc38fdc9003744a5d6c..be7e427deda9ac335b2b6ce5f8fbd036001b3468 100644 +index 32fe1e498ee988566213bfcf56bf98c92a3c9871..5374640d92cdf80eb1fdfc21c9076a988222c6d8 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -563,6 +563,15 @@ public class CraftEventFactory { @@ -5209,7 +5209,7 @@ index a9a58f0bb19e034cffdafcc38fdc9003744a5d6c..be7e427deda9ac335b2b6ce5f8fbd036 return event; } -@@ -1173,6 +1184,7 @@ public class CraftEventFactory { +@@ -1177,6 +1188,7 @@ public class CraftEventFactory { EntityDamageEvent event; if (damager != null) { event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions, critical); // Paper - add critical damage API diff --git a/patches/server/0008-Barrels-and-enderchests-6-rows.patch b/patches/server/0008-Barrels-and-enderchests-6-rows.patch index 1d54666a1..0982c38ae 100644 --- a/patches/server/0008-Barrels-and-enderchests-6-rows.patch +++ b/patches/server/0008-Barrels-and-enderchests-6-rows.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Barrels and enderchests 6 rows diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 01a550086f21672c7e2e51e304bf8fcffd6451f0..1ad17a1536540c393e52ec0b0fb4593cf4a16f3a 100644 +index c5cfc95df8cc8c1768457bc640d447148d0f6644..fbf9a5d7ef7b047984684079d68894d07f580b31 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1161,6 +1161,27 @@ public abstract class PlayerList { @@ -223,18 +223,18 @@ index 3075ba5f6d66316f27e618d8b279252e9520b9cb..299a099ead00069cc275e1dc9a21742a case DISPENSER: case DROPPER: diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java -index 10844fecc01370dcd0cc36f83e166bacb48ded30..c5340c2ac5c6771ba5809c3ba0be8f4c2e6a15f7 100644 +index df254c42b73cdb56f71781473cbf9d0f28dcfb08..483cc1ff49b2a4fc62173e756e1cbe4789f3cd60 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java @@ -83,7 +83,7 @@ public class CraftInventory implements Inventory { @Override public void setContents(ItemStack[] items) { -- if (this.getSize() < items.length) { -+ if (false && this.getSize() < items.length) { // Purpur - throw new IllegalArgumentException("Invalid inventory size; expected " + this.getSize() + " or less"); - } +- Preconditions.checkArgument(items.length <= this.getSize(), "Invalid inventory size (%s); expected %s or less", items.length, this.getSize()); ++ // Preconditions.checkArgument(items.length <= this.getSize(), "Invalid inventory size (%s); expected %s or less", items.length, this.getSize()); // Purpur + for (int i = 0; i < this.getSize(); i++) { + if (i >= items.length) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java index 0cab29584c4d5205950571660b6c271d34e403eb..e6a720f25266d793bec5f644dadacbf45aef23f5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java diff --git a/patches/server/0010-AFK-API.patch b/patches/server/0010-AFK-API.patch index 3dd819ffb..dc5aeea46 100644 --- a/patches/server/0010-AFK-API.patch +++ b/patches/server/0010-AFK-API.patch @@ -6,7 +6,7 @@ Subject: [PATCH] AFK API Adds the option for display names to be used in the afk broadcast diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 632af791c9c4c9d2fa84f46b0c28bb8089930ebe..62fb638dc4d1f88ff6ddb48bad891b77baf5443c 100644 +index 77c38ea427dac0176941f8bc26ebe540c0dd4c02..e528d3bb75b892e1674e4c282b91a28128a387a7 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2116,8 +2116,68 @@ public class ServerPlayer extends Player { @@ -79,7 +79,7 @@ index 632af791c9c4c9d2fa84f46b0c28bb8089930ebe..62fb638dc4d1f88ff6ddb48bad891b77 return this.stats; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c825027b644cbc70f5142c4c826eab6061ad4d41..da209820b52dfef1756f72b3c5cc77fe1239bd6d 100644 +index c7b9acaee1c14fde6d557c1068bf4544a282da24..38f4baddd932c4af10e656c10f201ab1c3c67fa3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -340,6 +340,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @@ -134,7 +134,7 @@ index c825027b644cbc70f5142c4c826eab6061ad4d41..da209820b52dfef1756f72b3c5cc77fe } // Paper start - optimise out extra getCubes -@@ -1597,6 +1619,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -1600,6 +1622,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -224,10 +224,10 @@ index 3b959f42d958bf0f426853aee56753d6c455fcdb..d17abb283ea818244df0379d6b57fc63 if (range < 0.0D || d < range * range) { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index fb743a7ecd3e4b84ebee0c37894ccd46c3f7672f..c1d3d945aa5a140c22a27729b8942fdc0b9dc3ee 100644 +index 9e7d5849489bbe6710681a61acb5fb28aea1187c..b01952443b1e0e256fd6f4f7d6ccdb28559cd543 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -501,10 +501,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -498,10 +498,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setPlayerListName(String name) { @@ -244,7 +244,7 @@ index fb743a7ecd3e4b84ebee0c37894ccd46c3f7672f..c1d3d945aa5a140c22a27729b8942fdc for (ServerPlayer player : (List) server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -3153,5 +3158,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3144,5 +3149,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } @@ -289,7 +289,7 @@ index e6a720f25266d793bec5f644dadacbf45aef23f5..6b768cff1318b4bcebeed95345f3cfdc public static int barrelRows = 3; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d16e7c78f6da209a94ab0fd95fb8e178b1a61609..43a49703a2a17c1fa2b623930b901ce60e2549b6 100644 +index 049658a2c939255003a8b32a18b67bb153243b23..2596204f9b1d0b9fd54ac71f7cecc16935ac5595 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -92,6 +92,24 @@ public class PurpurWorldConfig { @@ -318,7 +318,7 @@ index d16e7c78f6da209a94ab0fd95fb8e178b1a61609..43a49703a2a17c1fa2b623930b901ce6 public boolean untamedTamablesAreRidable = true; public boolean useNightVisionWhenRiding = false; diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index d4da9ec6e00bb92b70598ee9a0d0ca5816562378..cd2ec0b11f74e2b17f74ebb83f4e8b183f5b890e 100644 +index eda7f0bb42f7269676d5d2193e1155912ede9920..2eb33bd133009447154c7f018e9300d509f20725 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -199,6 +199,7 @@ public class ActivationRange diff --git a/patches/server/0011-Bring-back-server-name.patch b/patches/server/0011-Bring-back-server-name.patch index f01feceea..06ac90d74 100644 --- a/patches/server/0011-Bring-back-server-name.patch +++ b/patches/server/0011-Bring-back-server-name.patch @@ -17,10 +17,10 @@ index 818289e831e3dad29345c43265e2efd7689bc500..1ea3012995c738c67b31e997c138f824 public final boolean spawnNpcs = this.get("spawn-npcs", true); public final boolean pvp = this.get("pvp", true); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 81bfd0f9d297f22c24e5d23e4e63ca7e08a7c2d8..a11723890dccee913e3c50e46e18d04afe2966e6 100644 +index 4a00ab2a4b1d445c43d633c50c7ff66aa4034d60..90def71180c29c8a5226da5199d42ce2ab37269c 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2987,4 +2987,11 @@ public final class CraftServer implements Server { +@@ -3004,4 +3004,11 @@ public final class CraftServer implements Server { } // Paper end diff --git a/patches/server/0012-Configurable-server-mod-name.patch b/patches/server/0012-Configurable-server-mod-name.patch index 019799630..ea03529a1 100644 --- a/patches/server/0012-Configurable-server-mod-name.patch +++ b/patches/server/0012-Configurable-server-mod-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1f08b8e81fd6dfa850ead13f2d45adb823a447ab..b8ea1f9aa3a486033b6f3d0d150aa21ab6130d53 100644 +index 3d2af8732f60b29619e3701acca9429c6d5a32f8..39ab22e836a1e0d7ecb39389387466e889869bae 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1682,7 +1682,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info -@@ -3487,6 +3503,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -3490,6 +3506,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0040-Disable-loot-drops-on-death-by-cramming.patch b/patches/server/0040-Disable-loot-drops-on-death-by-cramming.patch index 03d71c0b3..241f5c582 100644 --- a/patches/server/0040-Disable-loot-drops-on-death-by-cramming.patch +++ b/patches/server/0040-Disable-loot-drops-on-death-by-cramming.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable loot drops on death by cramming diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index bf3a3bd00260ba04c592c4313cde33e5d393d392..7d9ecae23415e8f06831bc5bf4fae9137d43eb12 100644 +index 584a15e2dc7a1ff2396084ff833c8022e6d2fd76..51b575b5f088b61ab061ce4245488ed7461210ee 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java -@@ -1800,6 +1800,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1803,6 +1803,7 @@ public abstract class LivingEntity extends Entity implements Attackable { this.dropEquipment(); // CraftBukkit - from below if (this.shouldDropLoot() && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { @@ -16,7 +16,7 @@ index bf3a3bd00260ba04c592c4313cde33e5d393d392..7d9ecae23415e8f06831bc5bf4fae913 this.dropFromLootTable(source, flag); // Paper start final boolean prev = this.clearEquipmentSlots; -@@ -1808,6 +1809,7 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -1811,6 +1812,7 @@ public abstract class LivingEntity extends Entity implements Attackable { // Paper end this.dropCustomDeathLoot(source, i, flag); this.clearEquipmentSlots = prev; // Paper @@ -25,7 +25,7 @@ index bf3a3bd00260ba04c592c4313cde33e5d393d392..7d9ecae23415e8f06831bc5bf4fae913 // CraftBukkit start - Call death event // Paper start - call advancement triggers with correct entity equipment org.bukkit.event.entity.EntityDeathEvent deathEvent = CraftEventFactory.callEntityDeathEvent(this, this.drops, () -> { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 60f5f27583e57105bbc95ce72138d2b530669c56..15231c9ef7787830b6639e8c4ce34d230ac6a304 100644 +index 245d262949eef0b819a367f2cf345070d52e588f..3aa38514024db3a725e195045d851c6db34d221e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -97,6 +97,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0045-Configurable-TPS-Catchup.patch b/patches/server/0045-Configurable-TPS-Catchup.patch index 85b530b1f..95d608547 100644 --- a/patches/server/0045-Configurable-TPS-Catchup.patch +++ b/patches/server/0045-Configurable-TPS-Catchup.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 75d15b7c157fea129a730a0f48ae9ea71f13d533..d9f3613381cf7166e0b504a4370420e1d0fadc4e 100644 +index 837338fb19e5506f01da687e603860b5eb3860f5..517a817050f9c2be21866811f44e87b04eb2eacd 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1175,7 +1175,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop new net.minecraft.world.item.crafting.Ingredient.ItemValue(CraftItemStack.asNMSCopy(mat)))); stack.exact = true; diff --git a/patches/server/0096-Configurable-daylight-cycle.patch b/patches/server/0096-Configurable-daylight-cycle.patch index 951568fcb..99ce89807 100644 --- a/patches/server/0096-Configurable-daylight-cycle.patch +++ b/patches/server/0096-Configurable-daylight-cycle.patch @@ -18,10 +18,10 @@ index 9ec6145fe04ec64bbee8ec6a837719caebdbc6f5..358d610ad020cada1bb83e393deeeaae public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) { this.gameTime = time; diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 6e5bfabe11da547f28b1d56e5a279ae5d9bb3c54..12a5a8c06dc636fbd5008b8f71d05cfae00a52c2 100644 +index 2da0bb6f710562d9abd181c110b85e970285d446..6b7d87c337dc2cdbf1b7ad415a7ec0f709285ae3 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1519,7 +1519,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0734602a64f169665ca416efa37aa52d649e900c..20fae6041a0a93c0de24f4e8bf0d2acf4b1bcced 100644 +index 23dd4900b64e8204870d5f1314bacc6d1f46a95c..c0c4c15e2bbdad8ee4cde98a971c3a1c3479c43f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -478,6 +478,21 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -32,7 +32,7 @@ index 0734602a64f169665ca416efa37aa52d649e900c..20fae6041a0a93c0de24f4e8bf0d2acf return this.hardCollides; } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index c31a33a22540dcaf854b3633686af969e77e0ad6..d4cdb88ca3247f3f9ea8f6797cc3b6ce0c7b5152 100644 +index 81133745db9362ceda55cc410ecd2c65df0fb7cc..ac9b48a59b197648a6781629c4409712d0af44ab 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -265,6 +265,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -63,7 +63,7 @@ index c31a33a22540dcaf854b3633686af969e77e0ad6..d4cdb88ca3247f3f9ea8f6797cc3b6ce } // CraftBukkit start -@@ -3522,6 +3529,27 @@ public abstract class LivingEntity extends Entity implements Attackable { +@@ -3525,6 +3532,27 @@ public abstract class LivingEntity extends Entity implements Attackable { this.hurt(this.damageSources().drown(), 1.0F); } @@ -353,7 +353,7 @@ index a676d66dcb5ee72e6d8ffef4e210a3d2c8d605f2..0bc90b6d5c5a3cb3477d41336a9bb113 // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index eed8be5d6f796450a99f8dd11c673780d8cb5411..ac6640c525df098e54181dd630f83fd0410ca47c 100644 +index 3985663536d17afe73ece47702bdc41dcfd46819..41089892e735eec7e3914084bbc278d67c4b6ea0 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -209,6 +209,11 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -369,10 +369,10 @@ index eed8be5d6f796450a99f8dd11c673780d8cb5411..ac6640c525df098e54181dd630f83fd0 /* * Order is *EXTREMELY* important -- keep it right! =D diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index a6e30e77d335b74b47ae2dd5bd80a4bb0dc877e7..75b3bee5c0907d24c324ccdef8b6fcc46bd5971c 100644 +index 3ca4ba907b42dfddf24dbab56e4bdfbc8a60f72a..70830f57e3929bc37b20fd95fc4998c717e99706 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -1088,5 +1088,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -1082,5 +1082,15 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { if (slot == null) return; getHandle().broadcastBreakEvent(org.bukkit.craftbukkit.CraftEquipmentSlot.getNMS(slot)); } diff --git a/patches/server/0189-Add-uptime-command.patch b/patches/server/0189-Add-uptime-command.patch index 7b76a0de1..4ac071ef6 100644 --- a/patches/server/0189-Add-uptime-command.patch +++ b/patches/server/0189-Add-uptime-command.patch @@ -17,10 +17,10 @@ index 4e721dfca7559620d8ce65a6703f2089a839f4a0..7aae9e3c60ba15b8dcd8174a4d70866e } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7b67bc1e7891a27125db560ad18a133096bb2468..f5e9a56f6f478e241a9ffcf703e4a54e8270eac9 100644 +index c89c7c78612cf86c2632832ab85ea8cdfb71c0ed..f29fa70f7497282efe14248de50eca44dd71118d 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -296,6 +296,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0.0F) { this.playSound(this.getFallDamageSound((int) f3), 1.0F, 1.0F); @@ -17,7 +17,7 @@ index d4cdb88ca3247f3f9ea8f6797cc3b6ce0c7b5152..48fa05e80483e470572ecc8b2f7feb58 } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index daeed4659b16d6aa30e91776189f9989f71bff11..53f5a3496d09aaadb3ba7abc3e93f7206c3c060c 100644 +index 2edb74f618b1b9d5a299ba87bd663fb17495ff03..e6a26392252d70d842dfe1c9fb2d72132a1edef5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -184,12 +184,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0210-Extended-OfflinePlayer-API.patch b/patches/server/0210-Extended-OfflinePlayer-API.patch index e57202851..0cdc50c73 100644 --- a/patches/server/0210-Extended-OfflinePlayer-API.patch +++ b/patches/server/0210-Extended-OfflinePlayer-API.patch @@ -223,10 +223,10 @@ index 714afc98b5150907b45a00060be4e41582333204..312a6d90c0a09570aef24c205dc2ff27 + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c7738ddd10dd4691ea446a46640dfce08a1fc9d5..62d9f24188a686229c450325dcd614a50fa470ce 100644 +index e0d08e583be5005e55fb79f6909170435774d6b6..839787ae6f2be0ba68fd9ac429c99d514004405b 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2391,6 +2391,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2375,6 +2375,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } @@ -253,5 +253,5 @@ index c7738ddd10dd4691ea446a46640dfce08a1fc9d5..62d9f24188a686229c450325dcd614a5 + // Purpur end - OfflinePlayer API + private void validateSpeed(float value) { - if (value < 0) { - if (value < -1f) { + Preconditions.checkArgument(value <= 1f && value >= -1f, "Speed value (%s) need to be between -1f and 1f", value); + } diff --git a/patches/server/0211-Added-the-ability-to-add-combustible-items.patch b/patches/server/0211-Added-the-ability-to-add-combustible-items.patch index 3734d6319..2650cac6d 100644 --- a/patches/server/0211-Added-the-ability-to-add-combustible-items.patch +++ b/patches/server/0211-Added-the-ability-to-add-combustible-items.patch @@ -51,10 +51,10 @@ index ca2052804ad829a1528a9c5a0a792275beead113..997d0fab71eacc6466ffe3bc8f6349e5 private int maxStack = MAX_STACK; public List transaction = new java.util.ArrayList(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 7afc14b00a38bd83f5ec6dc12bf86bc7ee6574a2..00fe4b406eaec3e1bc02cb9bb35530d9c98743b0 100644 +index af64a42eba7b23e8a0f085d874a66dcbb060cb75..ac85de5112975097e20d319059deee42a3961fa2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -1447,6 +1447,19 @@ public final class CraftServer implements Server { +@@ -1448,6 +1448,19 @@ public final class CraftServer implements Server { return true; } @@ -73,4 +73,4 @@ index 7afc14b00a38bd83f5ec6dc12bf86bc7ee6574a2..00fe4b406eaec3e1bc02cb9bb35530d9 + @Override public List getRecipesFor(ItemStack result) { - Validate.notNull(result, "Result cannot be null"); + Preconditions.checkArgument(result != null, "ItemStack cannot be null"); diff --git a/patches/server/0214-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0214-Shift-right-click-to-use-exp-for-mending.patch index a3a53026d..f6298201f 100644 --- a/patches/server/0214-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0214-Shift-right-click-to-use-exp-for-mending.patch @@ -36,10 +36,10 @@ index 7ddc9a7ff7b1d6de234ea5b1c8f4246d6ba7976d..02f615e797ac22b8a6226233d815346c + // Purpur end } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 9b59fc923c85af6daf07d7bcf0d30ad39bd0cd8e..c4d8ca22639f8ad5c4375927f8ce7afa856d1689 100644 +index 7f3b2ea667325fe66ba13c9babad4a3162ff425b..c0c515fb95813c5fb9482ac44cd2980d73a363a3 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2085,6 +2085,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2088,6 +2088,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { @@ -48,7 +48,7 @@ index 9b59fc923c85af6daf07d7bcf0d30ad39bd0cd8e..c4d8ca22639f8ad5c4375927f8ce7afa cancelled = event.useItemInHand() == Event.Result.DENY; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b1a41951a7822fc78cece7bb0863e5d69e0c9473..6406b1cd67ebd2d173a12a90ccc5dbbd388a4fb8 100644 +index dd0e9af64399c07b19d2f2afa4e67d082eadd365..dc7529035cb9624675aa50b4333a0c8f893204b4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -417,6 +417,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0220-UPnP-Port-Forwarding.patch b/patches/server/0220-UPnP-Port-Forwarding.patch index fbc41706a..a86aaaf31 100644 --- a/patches/server/0220-UPnP-Port-Forwarding.patch +++ b/patches/server/0220-UPnP-Port-Forwarding.patch @@ -5,10 +5,10 @@ Subject: [PATCH] UPnP Port Forwarding diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f5e9a56f6f478e241a9ffcf703e4a54e8270eac9..c4a88ef1cc23b0f7b3fe50019441535bae1a1b64 100644 +index f29fa70f7497282efe14248de50eca44dd71118d..7fc8f42c315d1bc81585b0147d59d662e7941d8c 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -311,6 +311,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop getActivePotionEffects() { List effects = new ArrayList(); for (MobEffectInstance handle : this.getHandle().activeEffects.values()) { @@ -191,11 +191,11 @@ index 75b3bee5c0907d24c324ccdef8b6fcc46bd5971c..641caa0f74a40ea52f71f3150c016827 return effects; } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java -index 0d4348ce1c4ec9bb779eaebf8606ea578f17d2cb..486768894f130cd23905cc7a8be16ce705667bbb 100644 +index d94ab2607d1ab657a6b37924ce5ebcbbc3984011..f594596029513426f974ba820ed4702703b667a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftMetaPotion.java -@@ -13,6 +13,7 @@ import net.minecraft.nbt.ListTag; - import org.apache.commons.lang.Validate; +@@ -13,6 +13,7 @@ import net.minecraft.nbt.CompoundTag; + import net.minecraft.nbt.ListTag; import org.bukkit.Color; import org.bukkit.Material; +import org.bukkit.NamespacedKey; @@ -210,7 +210,7 @@ index 0d4348ce1c4ec9bb779eaebf8606ea578f17d2cb..486768894f130cd23905cc7a8be16ce7 // Having an initial "state" in ItemMeta seems bit dirty but the UNCRAFTABLE potion type // is treated as the empty form of the meta because it represents an empty potion with no effect -@@ -92,7 +94,13 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { +@@ -91,7 +93,13 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { boolean ambient = effect.getBoolean(AMBIENT.NBT); boolean particles = effect.contains(SHOW_PARTICLES.NBT, CraftMagicNumbers.NBT.TAG_BYTE) ? effect.getBoolean(SHOW_PARTICLES.NBT) : true; boolean icon = effect.contains(SHOW_ICON.NBT, CraftMagicNumbers.NBT.TAG_BYTE) ? effect.getBoolean(SHOW_ICON.NBT) : particles; @@ -225,7 +225,7 @@ index 0d4348ce1c4ec9bb779eaebf8606ea578f17d2cb..486768894f130cd23905cc7a8be16ce7 } } } -@@ -141,6 +149,11 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { +@@ -138,6 +146,11 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { effectData.putBoolean(AMBIENT.NBT, effect.isAmbient()); effectData.putBoolean(SHOW_PARTICLES.NBT, effect.hasParticles()); effectData.putBoolean(SHOW_ICON.NBT, effect.hasIcon()); @@ -237,7 +237,7 @@ index 0d4348ce1c4ec9bb779eaebf8606ea578f17d2cb..486768894f130cd23905cc7a8be16ce7 effectList.add(effectData); } } -@@ -202,7 +215,7 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { +@@ -199,7 +212,7 @@ class CraftMetaPotion extends CraftMetaItem implements PotionMeta { if (index != -1) { if (overwrite) { PotionEffect old = this.customEffects.get(index); diff --git a/patches/server/0237-Give-bee-counts-in-beehives-to-Purpur-clients.patch b/patches/server/0237-Give-bee-counts-in-beehives-to-Purpur-clients.patch index af16352c9..a99da1fa8 100644 --- a/patches/server/0237-Give-bee-counts-in-beehives-to-Purpur-clients.patch +++ b/patches/server/0237-Give-bee-counts-in-beehives-to-Purpur-clients.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Give bee counts in beehives to Purpur clients diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index c4a88ef1cc23b0f7b3fe50019441535bae1a1b64..1041e8e24e03ce46824f6b0f4fca6fc0e2264a98 100644 +index 7fc8f42c315d1bc81585b0147d59d662e7941d8c..462760b366697979e09ac65ee7787c2ab8338342 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1034,6 +1034,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop> { +@@ -576,11 +576,20 @@ public class Connection extends SimpleChannelInboundHandler> { private static final int MAX_PER_TICK = io.papermc.paper.configuration.GlobalConfiguration.get().misc.maxJoinsPerTick; // Paper private static int joinAttemptsThisTick; // Paper private static int currTick; // Paper diff --git a/patches/server/0246-Lobotomize-stuck-villagers.patch b/patches/server/0246-Lobotomize-stuck-villagers.patch index b5191a7ac..52434d26b 100644 --- a/patches/server/0246-Lobotomize-stuck-villagers.patch +++ b/patches/server/0246-Lobotomize-stuck-villagers.patch @@ -89,10 +89,10 @@ index 573d99bea295253804c9486a52ff724422fba432..43afded0ddd88094971ace2dd02d2aca if (this.assignProfessionWhenSpawned) { this.assignProfessionWhenSpawned = false; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -index e986767316a717bdbdff7a9ccaaeba068ab2a6d8..4d0b37957eb02b5d48beb76295ebc7c419ae9ca6 100644 +index f21c715ea109164efa755cddb35ef656a9859759..0c9154d1d3c1534a25c08c75fab102b68958fab9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftVillager.java -@@ -223,4 +223,11 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { +@@ -222,4 +222,11 @@ public class CraftVillager extends CraftAbstractVillager implements Villager { getHandle().getGossips().gossips.clear(); } // Paper end diff --git a/patches/server/0249-Config-for-mob-last-hurt-by-player-time.patch b/patches/server/0249-Config-for-mob-last-hurt-by-player-time.patch index 131ea57bd..cd4ea357f 100644 --- a/patches/server/0249-Config-for-mob-last-hurt-by-player-time.patch +++ b/patches/server/0249-Config-for-mob-last-hurt-by-player-time.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Config for mob last hurt by player time diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index fd276495ddcf160660a725c721d3c3f1d6bdd72b..6e2412640d76c45158777136bc38cbe523440e69 100644 +index 93036336e221912507820acec5d4744aba9a6b68..ecaf3cc5abda30d2b13c92ebb9f31442894064d3 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1504,13 +1504,13 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -25,10 +25,10 @@ index fd276495ddcf160660a725c721d3c3f1d6bdd72b..6e2412640d76c45158777136bc38cbe5 if (entityliving2 instanceof net.minecraft.world.entity.player.Player) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -index 641caa0f74a40ea52f71f3150c0168272b378edf..d5ed0e06c13f6df41b073a8b90992a20d6b9fac6 100644 +index b4c50e181ca7485d73750333bbaaa1b1799ba7b0..0ea1f2a8f6cb019cebf9f9849f8ba00aa385b18e 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftLivingEntity.java -@@ -444,7 +444,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { +@@ -440,7 +440,7 @@ public class CraftLivingEntity extends CraftEntity implements LivingEntity { net.minecraft.server.level.ServerPlayer entityPlayer = killer == null ? null : ((CraftPlayer) killer).getHandle(); getHandle().lastHurtByPlayer = entityPlayer; getHandle().lastHurtByMob = entityPlayer; @@ -38,7 +38,7 @@ index 641caa0f74a40ea52f71f3150c0168272b378edf..d5ed0e06c13f6df41b073a8b90992a20 // Paper end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b1f3bc498678603e7a2e78708cb84cb351e373e4..301b8c0217eb8f7bddfcc7e25832b2994628ac75 100644 +index a14382cbf663839f1eaa162be231c95bab4041f8..b89da9fabbda3a5b02262b08aba180818f6b7ec7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -144,6 +144,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0251-Fix-legacy-colors-in-console.patch b/patches/server/0251-Fix-legacy-colors-in-console.patch deleted file mode 100644 index 740e7d0b5..000000000 --- a/patches/server/0251-Fix-legacy-colors-in-console.patch +++ /dev/null @@ -1,63 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: BillyGalbreath -Date: Sun, 13 Mar 2022 21:00:02 -0500 -Subject: [PATCH] Fix legacy colors in console - - -diff --git a/src/main/java/io/papermc/paper/console/HexFormattingConverter.java b/src/main/java/io/papermc/paper/console/HexFormattingConverter.java -index b9922b07cb105618390187d98acdf89e728e1f5a..6a1eda942aa33fc0802066416f8bc64f5f15d011 100644 ---- a/src/main/java/io/papermc/paper/console/HexFormattingConverter.java -+++ b/src/main/java/io/papermc/paper/console/HexFormattingConverter.java -@@ -38,6 +38,7 @@ public final class HexFormattingConverter extends LogEventPatternConverter { - private static final String ANSI_RESET = "\u001B[m"; - - private static final char COLOR_CHAR = 0x7f; -+ private static final char LEGACY_CHAR = 0xa7; // Purpur - public static final LegacyComponentSerializer SERIALIZER = LegacyComponentSerializer.builder() - .hexColors() - .flattener(PaperAdventure.FLATTENER) -@@ -49,6 +50,8 @@ public final class HexFormattingConverter extends LogEventPatternConverter { - private static final String RESET_RGB_ANSI = ANSI_RESET + RGB_ANSI; - private static final Pattern NAMED_PATTERN = Pattern.compile(COLOR_CHAR + "[0-9a-fk-orA-FK-OR]"); - private static final Pattern RGB_PATTERN = Pattern.compile(COLOR_CHAR + "#([0-9a-fA-F]){6}"); -+ private static final Pattern LEGACY_RGB_PATTERN = Pattern.compile(LEGACY_CHAR + "x((" + LEGACY_CHAR + "[0-9a-fA-F]){6})"); // Purpur -+ private static final Pattern LEGACY_PATTERN = Pattern.compile(LEGACY_CHAR + "([0-9a-fk-orxA-FK-ORX])"); // Purpur - - private static final String[] RGB_ANSI_CODES = new String[]{ - formatHexAnsi(NamedTextColor.BLACK), // Black §0 -@@ -134,7 +137,21 @@ public final class HexFormattingConverter extends LogEventPatternConverter { - } - - private static String convertRGBColors(final String input) { -- return RGB_PATTERN.matcher(input).replaceAll(result -> { -+ // Purpur start - lets just shove this back in place -+ Matcher matcher = LEGACY_RGB_PATTERN.matcher(input); -+ StringBuilder buffer = new StringBuilder(); -+ while (matcher.find()) { -+ String s = matcher.group().replace(String.valueOf(LEGACY_CHAR), "").replace('x', '#'); -+ int hex = Integer.decode(s); -+ int red = (hex >> 16) & 0xFF; -+ int green = (hex >> 8) & 0xFF; -+ int blue = hex & 0xFF; -+ String replacement = String.format(RGB_ANSI, red, green, blue); -+ matcher.appendReplacement(buffer, replacement); -+ } -+ matcher.appendTail(buffer); -+ return RGB_PATTERN.matcher(buffer.toString()).replaceAll(result -> { -+ // Purpur end - final int hex = Integer.decode(result.group().substring(1)); - return formatHexAnsi(hex); - }); -@@ -152,10 +169,11 @@ public final class HexFormattingConverter extends LogEventPatternConverter { - } - - private static String stripRGBColors(final String input) { -- return RGB_PATTERN.matcher(input).replaceAll(""); -+ return LEGACY_RGB_PATTERN.matcher(RGB_PATTERN.matcher(input).replaceAll("")).replaceAll(""); // Purpur - } - - static void format(String content, StringBuilder result, int start, boolean ansi) { -+ content = LEGACY_PATTERN.matcher(content).replaceAll(COLOR_CHAR + "$1"); // Purpur - int next = content.indexOf(COLOR_CHAR); - int last = content.length() - 1; - if (next == -1 || next == last) { diff --git a/patches/server/0252-Option-to-disable-turtle-egg-trampling-with-feather-.patch b/patches/server/0251-Option-to-disable-turtle-egg-trampling-with-feather-.patch similarity index 96% rename from patches/server/0252-Option-to-disable-turtle-egg-trampling-with-feather-.patch rename to patches/server/0251-Option-to-disable-turtle-egg-trampling-with-feather-.patch index 930e5dd5b..0ab69d9c9 100644 --- a/patches/server/0252-Option-to-disable-turtle-egg-trampling-with-feather-.patch +++ b/patches/server/0251-Option-to-disable-turtle-egg-trampling-with-feather-.patch @@ -24,7 +24,7 @@ index 70997b83fd7631ebf3c5bda67ef77bef605eb464..a8c227e2cb62cfa8225798329cde9078 return world.purpurConfig.turtleEggsBypassMobGriefing || world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING); // Purpur end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 39f0c7be1d0023178b34bc7699aa5c4445b02c13..c2deb96f15727460af72662b1ce4f81a58e9f3a6 100644 +index e7da44aae8a1f4c5c58e3b5b0086294adff7152d..7167d0d6c1f2ef666669dc4258bb54386692ec61 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1006,12 +1006,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0253-Add-toggle-for-enchant-level-clamping.patch b/patches/server/0252-Add-toggle-for-enchant-level-clamping.patch similarity index 100% rename from patches/server/0253-Add-toggle-for-enchant-level-clamping.patch rename to patches/server/0252-Add-toggle-for-enchant-level-clamping.patch diff --git a/patches/server/0254-Skip-junit-tests-for-purpur-commands.patch b/patches/server/0253-Skip-junit-tests-for-purpur-commands.patch similarity index 100% rename from patches/server/0254-Skip-junit-tests-for-purpur-commands.patch rename to patches/server/0253-Skip-junit-tests-for-purpur-commands.patch diff --git a/patches/server/0255-Implement-configurable-search-radius-for-villagers-t.patch b/patches/server/0254-Implement-configurable-search-radius-for-villagers-t.patch similarity index 100% rename from patches/server/0255-Implement-configurable-search-radius-for-villagers-t.patch rename to patches/server/0254-Implement-configurable-search-radius-for-villagers-t.patch diff --git a/patches/server/0256-Stonecutter-damage.patch b/patches/server/0255-Stonecutter-damage.patch similarity index 98% rename from patches/server/0256-Stonecutter-damage.patch rename to patches/server/0255-Stonecutter-damage.patch index 958a2bccf..4504f0710 100644 --- a/patches/server/0256-Stonecutter-damage.patch +++ b/patches/server/0255-Stonecutter-damage.patch @@ -63,7 +63,7 @@ index 3de2e7a17e1234367e4ec6d944b1145781aefeba..15ed564a579237dd1f5d6ce56ccb473f public static boolean advancementOnlyBroadcastToAffectedPlayer = false; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 52ce83ffceb8480812fe6176d46b803e4324d455..35c2c97b157cda8fd56e1778ea3d0ca6afb84e41 100644 +index 4740ae8bdd63566f484976264a1e5d93a585c928..2967a613750a56fe1a7d6f67a3b650c34bde0aaa 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1001,6 +1001,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0257-Configurable-damage-settings-for-magma-blocks.patch b/patches/server/0256-Configurable-damage-settings-for-magma-blocks.patch similarity index 96% rename from patches/server/0257-Configurable-damage-settings-for-magma-blocks.patch rename to patches/server/0256-Configurable-damage-settings-for-magma-blocks.patch index ca27e1d14..f59f5e8c8 100644 --- a/patches/server/0257-Configurable-damage-settings-for-magma-blocks.patch +++ b/patches/server/0256-Configurable-damage-settings-for-magma-blocks.patch @@ -18,7 +18,7 @@ index 1b766045687e4dcded5cbcc50b746c55b9a34e22..be365914856593bb3c4e1945cc990786 entity.hurt(world.damageSources().hotFloor(), 1.0F); org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 35c2c97b157cda8fd56e1778ea3d0ca6afb84e41..77e57af5c11c5100241cc81f2ffa06d4539a6ecd 100644 +index 2967a613750a56fe1a7d6f67a3b650c34bde0aaa..c1234ab9a9420f62ae682b8ef82618c13add1421 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -934,6 +934,13 @@ public class PurpurWorldConfig { diff --git a/patches/server/0258-Add-config-for-snow-on-blue-ice.patch b/patches/server/0257-Add-config-for-snow-on-blue-ice.patch similarity index 95% rename from patches/server/0258-Add-config-for-snow-on-blue-ice.patch rename to patches/server/0257-Add-config-for-snow-on-blue-ice.patch index 58b40a0b7..7c65aa21c 100644 --- a/patches/server/0258-Add-config-for-snow-on-blue-ice.patch +++ b/patches/server/0257-Add-config-for-snow-on-blue-ice.patch @@ -22,7 +22,7 @@ index 14e00c7feb1c051d56a3d27cd00dcef072dd771a..4952fb1aaaafb55baa0fddb389f966a1 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 77e57af5c11c5100241cc81f2ffa06d4539a6ecd..af6276c368f40bc2dcc7f194f46707bd96997bae 100644 +index c1234ab9a9420f62ae682b8ef82618c13add1421..856c2ada861d87e53d49dc7f82d1707b946f7ba8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -915,9 +915,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0259-Skeletons-eat-wither-roses.patch b/patches/server/0258-Skeletons-eat-wither-roses.patch similarity index 100% rename from patches/server/0259-Skeletons-eat-wither-roses.patch rename to patches/server/0258-Skeletons-eat-wither-roses.patch diff --git a/patches/server/0260-Enchantment-Table-Persists-Lapis.patch b/patches/server/0259-Enchantment-Table-Persists-Lapis.patch similarity index 97% rename from patches/server/0260-Enchantment-Table-Persists-Lapis.patch rename to patches/server/0259-Enchantment-Table-Persists-Lapis.patch index 5dcf66709..985002a55 100644 --- a/patches/server/0260-Enchantment-Table-Persists-Lapis.patch +++ b/patches/server/0259-Enchantment-Table-Persists-Lapis.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Enchantment Table Persists Lapis diff --git a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java -index 0c3c3902e84010684ef703545c1377d8a6f32580..dbf825836727a50a7b8dda48c97df8d846e4fd80 100644 +index 93e8316f9d64625dcc4df0644a2187bcc884ef65..1711406996ec4a9cb7b1838bd2446e5cf802e043 100644 --- a/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java +++ b/src/main/java/net/minecraft/world/inventory/EnchantmentMenu.java @@ -38,6 +38,12 @@ import org.bukkit.event.enchantment.PrepareItemEnchantEvent; @@ -62,7 +62,7 @@ index 0c3c3902e84010684ef703545c1377d8a6f32580..dbf825836727a50a7b8dda48c97df8d8 int j; for (j = 0; j < 3; ++j) { -@@ -338,6 +371,7 @@ public class EnchantmentMenu extends AbstractContainerMenu { +@@ -340,6 +373,7 @@ public class EnchantmentMenu extends AbstractContainerMenu { public void removed(net.minecraft.world.entity.player.Player player) { super.removed(player); this.access.execute((world, blockposition) -> { diff --git a/patches/server/0261-Spark-Profiler.patch b/patches/server/0260-Spark-Profiler.patch similarity index 100% rename from patches/server/0261-Spark-Profiler.patch rename to patches/server/0260-Spark-Profiler.patch diff --git a/patches/server/0262-Option-to-disable-kick-for-out-of-order-chat.patch b/patches/server/0261-Option-to-disable-kick-for-out-of-order-chat.patch similarity index 92% rename from patches/server/0262-Option-to-disable-kick-for-out-of-order-chat.patch rename to patches/server/0261-Option-to-disable-kick-for-out-of-order-chat.patch index 44249cb11..e96e70ee5 100644 --- a/patches/server/0262-Option-to-disable-kick-for-out-of-order-chat.patch +++ b/patches/server/0261-Option-to-disable-kick-for-out-of-order-chat.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Option to disable kick for out of order chat diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c4d8ca22639f8ad5c4375927f8ce7afa856d1689..9add904665ae8aa5bb7f447bb8b84e4439be56ad 100644 +index c0c515fb95813c5fb9482ac44cd2980d73a363a3..5ab726833006672a5256c90f4d8d056511be5b5f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2449,7 +2449,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic +@@ -2452,7 +2452,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic do { instant1 = (Instant) this.lastChatTimeStamp.get(); if (timestamp.isBefore(instant1)) { diff --git a/patches/server/0263-Config-for-sculk-shrieker-can_summon-state.patch b/patches/server/0262-Config-for-sculk-shrieker-can_summon-state.patch similarity index 95% rename from patches/server/0263-Config-for-sculk-shrieker-can_summon-state.patch rename to patches/server/0262-Config-for-sculk-shrieker-can_summon-state.patch index 1e7c02741..48304bf3b 100644 --- a/patches/server/0263-Config-for-sculk-shrieker-can_summon-state.patch +++ b/patches/server/0262-Config-for-sculk-shrieker-can_summon-state.patch @@ -18,7 +18,7 @@ index 02d01eabb9606ae8c3b76ad9fa4bb9a525e247b1..ce51fec4a874f9466f9966684c535315 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a96d897079107cc8582ca908a20027a52aa2b326..09deb7a2ad62e878c1b6ce7b315ec24cbd643807 100644 +index 549726970f64bbb3f6c9935698c3f290a8fb2fec..811e82c935e032db7a82c21fcf186c384be19ffb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -979,6 +979,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0264-Config-to-not-let-coral-die.patch b/patches/server/0263-Config-to-not-let-coral-die.patch similarity index 96% rename from patches/server/0264-Config-to-not-let-coral-die.patch rename to patches/server/0263-Config-to-not-let-coral-die.patch index 3127bcbcf..367ace5a5 100644 --- a/patches/server/0264-Config-to-not-let-coral-die.patch +++ b/patches/server/0263-Config-to-not-let-coral-die.patch @@ -29,7 +29,7 @@ index 88faea00be60a519f56f975a5311df5e1eb3e6b8..cbb726ac367be81e27d3a86643baf7c4 int i = aenumdirection.length; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 09deb7a2ad62e878c1b6ce7b315ec24cbd643807..0474daca28a6449dbc7cb0b7562c0b6d55421e39 100644 +index 811e82c935e032db7a82c21fcf186c384be19ffb..c4a061e88ed7cdfb85e0b97e3d9ae6b1fe2a8bf5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -816,6 +816,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0265-Add-local-difficulty-api.patch b/patches/server/0264-Add-local-difficulty-api.patch similarity index 85% rename from patches/server/0265-Add-local-difficulty-api.patch rename to patches/server/0264-Add-local-difficulty-api.patch index e7e18c588..d8ae84c50 100644 --- a/patches/server/0265-Add-local-difficulty-api.patch +++ b/patches/server/0264-Add-local-difficulty-api.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add local difficulty api diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 89514af7f3771db496e7e2a40fa4e7fdf527f095..c62fb633f3d27edd6cbfe4221c164ee68f1df5ae 100644 +index 1a481fb4f4228f0fea8a7dc6132248c98b727c90..a3d28fffdfa4b3a4db3009395eb2842a53949d0d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -@@ -2283,6 +2283,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { +@@ -2290,6 +2290,12 @@ public class CraftWorld extends CraftRegionAccessor implements World { return (this.getHandle().getDragonFight() == null) ? null : new CraftDragonBattle(this.getHandle().getDragonFight()); } diff --git a/patches/server/0266-Add-toggle-for-RNG-manipulation.patch b/patches/server/0265-Add-toggle-for-RNG-manipulation.patch similarity index 93% rename from patches/server/0266-Add-toggle-for-RNG-manipulation.patch rename to patches/server/0265-Add-toggle-for-RNG-manipulation.patch index 79e02a5c1..a0faf4871 100644 --- a/patches/server/0266-Add-toggle-for-RNG-manipulation.patch +++ b/patches/server/0265-Add-toggle-for-RNG-manipulation.patch @@ -7,7 +7,7 @@ Paper patches RNG maniplulation by using a shared (and locked) random source. This comes with a performance gain, but technical players may prefer the ability to manipulate RNG. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index f8caeea9c1ecd3c5dfe0f0a1e8aec342ca21f251..7a955f3848fcea9a72e5b758165f7685e74436c2 100644 +index 44161f9333e043cbe7309a65ce9256687da5ae64..3fc1388cfadb401e16a7793428ac40c30a44a16e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -575,7 +575,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -33,7 +33,7 @@ index beef2f6a42eebeaf5761bac841300f780bfdf4f2..41797940d89fec55cb7de4c63eb3ea5c } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0474daca28a6449dbc7cb0b7562c0b6d55421e39..c703266f931ed02653f89b1aa943ec32a59826a0 100644 +index c4a061e88ed7cdfb85e0b97e3d9ae6b1fe2a8bf5..03b9f85261761cb03ebd902ba27e29b9b644d700 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -206,9 +206,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0267-Send-client-custom-name-of-BE.patch b/patches/server/0266-Send-client-custom-name-of-BE.patch similarity index 100% rename from patches/server/0267-Send-client-custom-name-of-BE.patch rename to patches/server/0266-Send-client-custom-name-of-BE.patch diff --git a/patches/server/0268-PaperPR-7822-Fix-exact-choice-recipe-book-clicks.patch b/patches/server/0267-PaperPR-7822-Fix-exact-choice-recipe-book-clicks.patch similarity index 100% rename from patches/server/0268-PaperPR-7822-Fix-exact-choice-recipe-book-clicks.patch rename to patches/server/0267-PaperPR-7822-Fix-exact-choice-recipe-book-clicks.patch diff --git a/patches/server/0269-Allow-custom-ChatDecorators.patch b/patches/server/0268-Allow-custom-ChatDecorators.patch similarity index 90% rename from patches/server/0269-Allow-custom-ChatDecorators.patch rename to patches/server/0268-Allow-custom-ChatDecorators.patch index 0a89f0825..14fb5d529 100644 --- a/patches/server/0269-Allow-custom-ChatDecorators.patch +++ b/patches/server/0268-Allow-custom-ChatDecorators.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Allow custom ChatDecorators Requires NMS to utilize. I'll write an API for this once our upstreams calm down with the changes. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1041e8e24e03ce46824f6b0f4fca6fc0e2264a98..b0e0ff457c695aba58c208a678492a650a3834c8 100644 +index 462760b366697979e09ac65ee7787c2ab8338342..a556e23c774c107ab95400a73c9f6a7df6e1bb00 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -2657,6 +2657,15 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop -Date: Fri, 22 Jul 2022 20:33:58 -0500 -Subject: [PATCH] Cache server motd - -Paper ported my patch in an odd way. Keeping my patch around to reduce logic on the motd getter - -diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b0e0ff457c695aba58c208a678492a650a3834c8..6e63763205627a923563bf625b39e04ab436fea6 100644 ---- a/src/main/java/net/minecraft/server/MinecraftServer.java -+++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -250,7 +250,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0 && this.tickCount % autosavePeriod == 0; try { this.isSaving = true; -@@ -1444,7 +1444,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper worldserver.hasRidableMoveEvent = org.purpurmc.purpur.event.entity.RidableMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Purpur @@ -192,7 +192,7 @@ index 7f25760aed007435f8a6728323cc566ad1da146e..af3ab7bebc69f0485ec2eb5550ad5217 try { //worldserver.timings.doTick.startTiming(); // Spigot // Purpur -@@ -1590,17 +1590,17 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { this.executeBlocking(() -> { this.saveDebugReport(path.resolve("server")); -@@ -2530,40 +2531,40 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop(this, Zombie.class, 8.0F, 0.5D, 0.5D)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1e0336ade0d02005ffcc68326f386e65bd2f1700..3ffc72a4ad5e7c0a2c9a1ccaf23455613270328d 100644 +index 1b60a83873d999af6c8eecd4cc130a9c1a7290c2..c7470db94eb338466c7a822cfcc332e608435015 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -130,6 +130,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0289-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch b/patches/server/0287-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch similarity index 100% rename from patches/server/0289-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch rename to patches/server/0287-MC-121706-Fix-mobs-not-looking-up-and-down-when-stra.patch diff --git a/patches/server/0290-Add-log-suppression-for-LibraryLoader.patch b/patches/server/0288-Add-log-suppression-for-LibraryLoader.patch similarity index 100% rename from patches/server/0290-Add-log-suppression-for-LibraryLoader.patch rename to patches/server/0288-Add-log-suppression-for-LibraryLoader.patch diff --git a/patches/server/0291-Add-option-to-allow-creeper-to-encircle-target-when-.patch b/patches/server/0289-Add-option-to-allow-creeper-to-encircle-target-when-.patch similarity index 100% rename from patches/server/0291-Add-option-to-allow-creeper-to-encircle-target-when-.patch rename to patches/server/0289-Add-option-to-allow-creeper-to-encircle-target-when-.patch diff --git a/patches/server/0292-Fire-Immunity-API.patch b/patches/server/0290-Fire-Immunity-API.patch similarity index 95% rename from patches/server/0292-Fire-Immunity-API.patch rename to patches/server/0290-Fire-Immunity-API.patch index d97105d9c..6af42558a 100644 --- a/patches/server/0292-Fire-Immunity-API.patch +++ b/patches/server/0290-Fire-Immunity-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fire Immunity API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4dcb02a7326361ecef6fe3cc5cd426fc949f9fd8..4a2d517d1610d5a9a6c18a18886130005e6fa5bb 100644 +index 411abadee2e9b659c7022ad26e5f068276b0e450..fd42a9ab5d05a2abebd94b79dc7a8195e26b97d5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -405,6 +405,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -50,7 +50,7 @@ index 4dcb02a7326361ecef6fe3cc5cd426fc949f9fd8..4a2d517d1610d5a9a6c18a1888613000 } catch (Throwable throwable) { CrashReport crashreport = CrashReport.forThrowable(throwable, "Loading entity NBT"); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index ac6640c525df098e54181dd630f83fd0410ca47c..36fb99920e96185ae2c9e758aa81759fdf508075 100644 +index 41089892e735eec7e3914084bbc278d67c4b6ea0..37739d0a58fa60f79462c577531d3e4b5e47b2ba 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -209,6 +209,16 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { diff --git a/patches/server/0293-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch b/patches/server/0291-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch similarity index 93% rename from patches/server/0293-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch rename to patches/server/0291-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch index c53924113..2e2d44697 100644 --- a/patches/server/0293-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch +++ b/patches/server/0291-Add-option-to-teleport-to-spawn-on-nether-ceiling-da.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add option to teleport to spawn on nether ceiling damage diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4a2d517d1610d5a9a6c18a18886130005e6fa5bb..6417fd26d7675c967986055067ce8876a1263e9f 100644 +index fd42a9ab5d05a2abebd94b79dc7a8195e26b97d5..a3305c9378bd7e4c24bc2e447cb1f47ccc0db0b4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -891,6 +891,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource { @@ -17,7 +17,7 @@ index 4a2d517d1610d5a9a6c18a18886130005e6fa5bb..6417fd26d7675c967986055067ce8876 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 41910eeaf38b4f6b31f7d6b4b2009063794bb80c..d45fabcece2313779731154caad94230203e77bc 100644 +index b9b405c05c74d59ae4e1a537ff51a66be8a5462a..35c6802aa0bc025fa3ef2002b32a70c7eef3c384 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -421,6 +421,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0294-Added-got-ram-event.patch b/patches/server/0292-Added-got-ram-event.patch similarity index 100% rename from patches/server/0294-Added-got-ram-event.patch rename to patches/server/0292-Added-got-ram-event.patch diff --git a/patches/server/0295-Log-skipped-entity-s-position.patch b/patches/server/0293-Log-skipped-entity-s-position.patch similarity index 100% rename from patches/server/0295-Log-skipped-entity-s-position.patch rename to patches/server/0293-Log-skipped-entity-s-position.patch diff --git a/patches/server/0296-End-Crystal-Cramming.patch b/patches/server/0294-End-Crystal-Cramming.patch similarity index 96% rename from patches/server/0296-End-Crystal-Cramming.patch rename to patches/server/0294-End-Crystal-Cramming.patch index bc0d5957e..bf38e3ea5 100644 --- a/patches/server/0296-End-Crystal-Cramming.patch +++ b/patches/server/0294-End-Crystal-Cramming.patch @@ -17,7 +17,7 @@ index ad0bf89f7aa3c71b683f8ade930a7b91df69b058..77ffceba328bb1d87ef755dd82b50d02 // Purpur start diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d45fabcece2313779731154caad94230203e77bc..ec8673375f4fb63e79180680280b7dfcec2cbc3a 100644 +index 35c6802aa0bc025fa3ef2002b32a70c7eef3c384..b9726f571eefcf18215187881a5370926b98afc4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -859,6 +859,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0297-Option-to-allow-beacon-effects-when-covered-by-tinte.patch b/patches/server/0295-Option-to-allow-beacon-effects-when-covered-by-tinte.patch similarity index 97% rename from patches/server/0297-Option-to-allow-beacon-effects-when-covered-by-tinte.patch rename to patches/server/0295-Option-to-allow-beacon-effects-when-covered-by-tinte.patch index ad003f98b..e3283a4e3 100644 --- a/patches/server/0297-Option-to-allow-beacon-effects-when-covered-by-tinte.patch +++ b/patches/server/0295-Option-to-allow-beacon-effects-when-covered-by-tinte.patch @@ -36,7 +36,7 @@ index cc03c02f290ee8d58a2fea54b1f977f49a2cec6e..49a2308832b24dc1eb839af786dbec9f BeaconBlockEntity.playSound(world, pos, SoundEvents.BEACON_AMBIENT); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ec8673375f4fb63e79180680280b7dfcec2cbc3a..b9f91df268cc3bc0e43e483b1b9912ba1b39a679 100644 +index b9726f571eefcf18215187881a5370926b98afc4..60803fe07d0ccd8b563e1bef72af4e0b87121fd5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -758,11 +758,13 @@ public class PurpurWorldConfig { diff --git a/patches/server/0298-Add-attribute-clamping-and-armor-limit-config.patch b/patches/server/0296-Add-attribute-clamping-and-armor-limit-config.patch similarity index 100% rename from patches/server/0298-Add-attribute-clamping-and-armor-limit-config.patch rename to patches/server/0296-Add-attribute-clamping-and-armor-limit-config.patch diff --git a/patches/server/0299-Config-to-remove-explosion-radius-clamp.patch b/patches/server/0297-Config-to-remove-explosion-radius-clamp.patch similarity index 96% rename from patches/server/0299-Config-to-remove-explosion-radius-clamp.patch rename to patches/server/0297-Config-to-remove-explosion-radius-clamp.patch index cf61c5d14..0deecd18b 100644 --- a/patches/server/0299-Config-to-remove-explosion-radius-clamp.patch +++ b/patches/server/0297-Config-to-remove-explosion-radius-clamp.patch @@ -39,7 +39,7 @@ index e35ebb5b923c2f63e37e5dae006bc4a030e49bb7..dcc3b333f3647631e2fb695d0854036d } // CraftBukkit end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b9f91df268cc3bc0e43e483b1b9912ba1b39a679..7f3d9800955ba5a2f8469f9915d9a92ab6e992e5 100644 +index 60803fe07d0ccd8b563e1bef72af4e0b87121fd5..ec8e54e3d1e98ba02733ece7d856d3fff39bdec3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -215,6 +215,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0300-bonemealable-sugarcane-cactus-and-netherwart.patch b/patches/server/0298-bonemealable-sugarcane-cactus-and-netherwart.patch similarity index 98% rename from patches/server/0300-bonemealable-sugarcane-cactus-and-netherwart.patch rename to patches/server/0298-bonemealable-sugarcane-cactus-and-netherwart.patch index 0242540d7..62f777480 100644 --- a/patches/server/0300-bonemealable-sugarcane-cactus-and-netherwart.patch +++ b/patches/server/0298-bonemealable-sugarcane-cactus-and-netherwart.patch @@ -137,7 +137,7 @@ index c3f500580d257e1397f2eb7c47b063a6fe6bb405..0d5c6bdfd4aeda472804b493315bf21a + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7f3d9800955ba5a2f8469f9915d9a92ab6e992e5..b8f24554458a6aa0cbc9bbc93e0e2f6421a47f81 100644 +index ec8e54e3d1e98ba02733ece7d856d3fff39bdec3..f8492b62492025a73622c930aced76ee515df366 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -812,8 +812,20 @@ public class PurpurWorldConfig { diff --git a/patches/server/0301-Add-PreExplodeEvents.patch b/patches/server/0299-Add-PreExplodeEvents.patch similarity index 100% rename from patches/server/0301-Add-PreExplodeEvents.patch rename to patches/server/0299-Add-PreExplodeEvents.patch diff --git a/patches/server/0302-Improve-output-of-plugins-command.patch b/patches/server/0300-Improve-output-of-plugins-command.patch similarity index 100% rename from patches/server/0302-Improve-output-of-plugins-command.patch rename to patches/server/0300-Improve-output-of-plugins-command.patch diff --git a/patches/server/0304-Add-mending-multiplier.patch b/patches/server/0301-Add-mending-multiplier.patch similarity index 96% rename from patches/server/0304-Add-mending-multiplier.patch rename to patches/server/0301-Add-mending-multiplier.patch index 352c922e0..b34fdc9c9 100644 --- a/patches/server/0304-Add-mending-multiplier.patch +++ b/patches/server/0301-Add-mending-multiplier.patch @@ -27,7 +27,7 @@ index b2233635b6acc35ea3668c36c56e57f15420ac62..724bf857bf1b89cb0947b8a82e0ce09a public int getValue() { return this.value; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b8f24554458a6aa0cbc9bbc93e0e2f6421a47f81..669ea831771c72d40591bdcb18a9d35d02f74273 100644 +index f8492b62492025a73622c930aced76ee515df366..a0f42ab3ce426ceffa1b60233d6418ff53349682 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -121,6 +121,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0303-Make-GUI-Great-Again.patch b/patches/server/0302-Make-GUI-Great-Again.patch similarity index 98% rename from patches/server/0303-Make-GUI-Great-Again.patch rename to patches/server/0302-Make-GUI-Great-Again.patch index 670a7a196..86246ce2e 100644 --- a/patches/server/0303-Make-GUI-Great-Again.patch +++ b/patches/server/0302-Make-GUI-Great-Again.patch @@ -17,7 +17,7 @@ index f7238261f9797d127ff6e5dcdd62dd20bc65cdba..27dec01dbed8b1836ab5b5af579b9ed9 /* jline.console.ConsoleReader bufferedreader = reader; diff --git a/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java b/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java -index c07918aa1ed2469ad7a76a0add60ab648ff7f421..56cf3d5b8e365ce6b1ec88464d9079d774206755 100644 +index dd9f611efc95f7d06fd3011fedd5d0317b1d0a85..be7b3fe2dc84493dcde9e185717b0b7c7c2e9822 100644 --- a/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java +++ b/src/main/java/net/minecraft/server/gui/MinecraftServerGui.java @@ -43,6 +43,11 @@ public class MinecraftServerGui extends JComponent { @@ -115,7 +115,7 @@ index c07918aa1ed2469ad7a76a0add60ab648ff7f421..56cf3d5b8e365ce6b1ec88464d9079d7 @@ -176,7 +214,7 @@ public class MinecraftServerGui extends JComponent { } - private static final java.util.regex.Pattern ANSI = java.util.regex.Pattern.compile("\\x1B\\[([0-9]{1,2}(;[0-9]{1,2})*)?[m|K]"); // CraftBukkit + private static final java.util.regex.Pattern ANSI = java.util.regex.Pattern.compile("\\e\\[[\\d;]*[^\\d;]"); // CraftBukkit // Paper - public void print(JTextArea textArea, JScrollPane scrollPane, String message) { + public void print(org.purpurmc.purpur.gui.JColorTextPane textArea, JScrollPane scrollPane, String message) { // Purpur if (!SwingUtilities.isEventDispatchThread()) { @@ -389,7 +389,7 @@ index 0000000000000000000000000000000000000000..15a226e3854d731f7724025ea3459c8a + } +} diff --git a/src/main/resources/log4j2.xml b/src/main/resources/log4j2.xml -index 74ccc67e3c12dc5182602fb691ef3ddeb5b53280..52af11926a1f7973d70a1dae191d2e8138ec5c94 100644 +index 675cd61221e807aadf28322b46c3daa1370241b5..f0dc6d6dcbe22757e53c07240de65a97f4c70c94 100644 --- a/src/main/resources/log4j2.xml +++ b/src/main/resources/log4j2.xml @@ -2,7 +2,16 @@