diff --git a/gradle.properties b/gradle.properties index 4081eb1aa..0e03be3a6 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ version = 1.17.1-R0.1-SNAPSHOT mcVersion = 1.17.1 packageVersion = 1_17_R1 -paperCommit = 80650e893678e726b0d5724031344eb2ec47a51a +paperCommit = 565cd3306ccd13f4d787344623aad5ba0b9e2f04 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0001-Tuinity-API-Changes.patch b/patches/api/0001-Tuinity-API-Changes.patch index 473af71f1..1a2e43c41 100644 --- a/patches/api/0001-Tuinity-API-Changes.patch +++ b/patches/api/0001-Tuinity-API-Changes.patch @@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 024da3febe3fd6c54aa30e99cb08300bc38ddb92..2002423121ed73faf6b06ccb1f19152980d1ea21 100644 +index 83870d54a5ff1017ad7455e9c931fdee54354434..d6607c1cc3b976367f0087810de698281d4733ab 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1677,6 +1677,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1679,6 +1679,14 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Paper end @@ -36,10 +36,10 @@ index 024da3febe3fd6c54aa30e99cb08300bc38ddb92..2002423121ed73faf6b06ccb1f191529 * Sends the component to the player * diff --git a/src/main/java/org/bukkit/World.java b/src/main/java/org/bukkit/World.java -index 8ae9198ba7fdb006dc420504a984627add20dbb5..4017cc64532a9a8e42c3a6492878cd96db13fcb3 100644 +index 953d3470811d5877bd8a9653343f4c38770b266f..6d5c60a7def6926421df09214e9a9053a321bc00 100644 --- a/src/main/java/org/bukkit/World.java +++ b/src/main/java/org/bukkit/World.java -@@ -3639,6 +3639,26 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad +@@ -3706,6 +3706,26 @@ public interface World extends PluginMessageRecipient, Metadatable, net.kyori.ad * @param viewDistance view distance in [2, 32] */ void setNoTickViewDistance(int viewDistance); @@ -67,10 +67,10 @@ index 8ae9198ba7fdb006dc420504a984627add20dbb5..4017cc64532a9a8e42c3a6492878cd96 // Spigot start diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 5e8814cc317a705eaf8bdd9f3876a5366c0a0226..7be8c47bdb8cc73c039efe05d81085cdbe0bef58 100644 +index 3ec1be36b90dbedb8631135555da4b69110e4791..c87cb640dc829a266e85e97a2e3bb2f0f52a2eaa 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1818,23 +1818,63 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1887,23 +1887,63 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Gets the view distance for this player * * @return the player's view distance diff --git a/patches/api/0002-Build-System-Changes.patch b/patches/api/0002-Build-System-Changes.patch index 7abd53b45..4e89beca1 100644 --- a/patches/api/0002-Build-System-Changes.patch +++ b/patches/api/0002-Build-System-Changes.patch @@ -6,11 +6,11 @@ Subject: [PATCH] Build System Changes todo: merge with rebrand patch diff --git a/build.gradle.kts b/build.gradle.kts -index d69d367a7527d677661ea56453b95417748b70a9..206ac6d91e9935c12e65244fe5ed9c168781eb6b 100644 +index 689d470ebe2c7e25e4c87f6127978d1d283e55b5..9f50b301e8ec5b914e5f9bb0229549078bcbf257 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -28,6 +28,7 @@ dependencies { - api("net.kyori:adventure-text-serializer-plain") +@@ -39,6 +39,7 @@ dependencies { + apiAndDocs("net.kyori:adventure-text-serializer-plain") api("org.apache.logging.log4j:log4j-api:2.14.1") // Paper api("org.slf4j:slf4j-api:1.7.30") // Paper + api("net.kyori:adventure-text-minimessage:4.1.0-SNAPSHOT") // Purpur diff --git a/patches/api/0003-Purpur-config-files.patch b/patches/api/0003-Purpur-config-files.patch index a7f21503f..5ecb38276 100644 --- a/patches/api/0003-Purpur-config-files.patch +++ b/patches/api/0003-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 2002423121ed73faf6b06ccb1f19152980d1ea21..0e37bb7ed1bf1855a5d19519f34018ae8b6a0d95 100644 +index d6607c1cc3b976367f0087810de698281d4733ab..6aa18a3ff909b1b24082b5fe4f71d82d67a2354a 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1685,6 +1685,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1687,6 +1687,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Tuinity end - add config to timings report diff --git a/patches/api/0009-AFK-API.patch b/patches/api/0009-AFK-API.patch index 06885bd4e..1a7f3b227 100644 --- a/patches/api/0009-AFK-API.patch +++ b/patches/api/0009-AFK-API.patch @@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..0c8b3e5e4ba412624357ea5662a78862 + } +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 7be8c47bdb8cc73c039efe05d81085cdbe0bef58..3197dee574327da2d1aa65f775ee3f53b88d5d85 100644 +index c87cb640dc829a266e85e97a2e3bb2f0f52a2eaa..285c8a5c6991c26e0b9c2b6af252cc1b320a8a2f 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2230,4 +2230,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2299,4 +2299,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Override Spigot spigot(); // Spigot end diff --git a/patches/api/0010-Bring-back-server-name.patch b/patches/api/0010-Bring-back-server-name.patch index 057845913..157a630ad 100644 --- a/patches/api/0010-Bring-back-server-name.patch +++ b/patches/api/0010-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 88b33dbd6a2b67e9665e0c24b986cf30acb1a5fa..ef3068c0bf8e834c85e2719fe08c406790523161 100644 +index d36e4bc3c3713407704b865574cba28662f17315..fc956758335734ac89e86e9c5fbbb6cc965d0e59 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2061,4 +2061,15 @@ public final class Bukkit { +@@ -2063,4 +2063,15 @@ public final class Bukkit { public static Server.Spigot spigot() { return server.spigot(); } @@ -25,10 +25,10 @@ index 88b33dbd6a2b67e9665e0c24b986cf30acb1a5fa..ef3068c0bf8e834c85e2719fe08c4067 + // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 0e37bb7ed1bf1855a5d19519f34018ae8b6a0d95..70bbd5b7586a35e70b09edfcd2d47bb54757bf9a 100644 +index 6aa18a3ff909b1b24082b5fe4f71d82d67a2354a..b1c470734a48e3895e805b49c74809d46a005664 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1807,4 +1807,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1809,4 +1809,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull io.papermc.paper.datapack.DatapackManager getDatapackManager(); // Paper end diff --git a/patches/api/0013-Lagging-threshold.patch b/patches/api/0013-Lagging-threshold.patch index 245571457..2e5a6e78f 100644 --- a/patches/api/0013-Lagging-threshold.patch +++ b/patches/api/0013-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 ef3068c0bf8e834c85e2719fe08c406790523161..4a7e1521711c4e4728662cd6200d6d9d6b600713 100644 +index fc956758335734ac89e86e9c5fbbb6cc965d0e59..39490406f914a5082d9d4b3937d9df63c222efa6 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2071,5 +2071,14 @@ public final class Bukkit { +@@ -2073,5 +2073,14 @@ public final class Bukkit { public static String getServerName() { return server.getServerName(); } @@ -24,10 +24,10 @@ index ef3068c0bf8e834c85e2719fe08c406790523161..4a7e1521711c4e4728662cd6200d6d9d // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 70bbd5b7586a35e70b09edfcd2d47bb54757bf9a..9b316559dba0b1df674d68bdd51d3497dcd25d61 100644 +index b1c470734a48e3895e805b49c74809d46a005664..0b68d0bd03822ed90effc4e57d288973f3164f16 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1815,5 +1815,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1817,5 +1817,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull String getServerName(); diff --git a/patches/api/0018-Player-invulnerabilities.patch b/patches/api/0018-Player-invulnerabilities.patch index c136cf05f..c26552e30 100644 --- a/patches/api/0018-Player-invulnerabilities.patch +++ b/patches/api/0018-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 3197dee574327da2d1aa65f775ee3f53b88d5d85..28eb87afaa61a22e1962f0b233854314e474692b 100644 +index 285c8a5c6991c26e0b9c2b6af252cc1b320a8a2f..702b2cb940fd269c4ddc0c25c7aefd00d014b942 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2250,5 +2250,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2319,5 +2319,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Reset the idle timer back to 0 */ void resetIdleTimer(); diff --git a/patches/api/0020-ItemStack-convenience-methods.patch b/patches/api/0020-ItemStack-convenience-methods.patch index 52d652948..177741535 100644 --- a/patches/api/0020-ItemStack-convenience-methods.patch +++ b/patches/api/0020-ItemStack-convenience-methods.patch @@ -5,10 +5,10 @@ Subject: [PATCH] ItemStack convenience methods diff --git a/src/main/java/org/bukkit/Material.java b/src/main/java/org/bukkit/Material.java -index 08eb0cc65308c5d4078814a0bccf84142737e87a..1f113c6befc2498b3770eb5dd61a69a9ea962bd6 100644 +index ed6dfb28f8f434680fc8eacbe49a9d0b6cf9be83..a128b647367487f6ba597d9a34378085a18bd8d1 100644 --- a/src/main/java/org/bukkit/Material.java +++ b/src/main/java/org/bukkit/Material.java -@@ -9819,4 +9819,40 @@ public enum Material implements Keyed { +@@ -9826,4 +9826,40 @@ public enum Material implements Keyed, net.kyori.adventure.translation.Translata // } } @@ -50,7 +50,7 @@ index 08eb0cc65308c5d4078814a0bccf84142737e87a..1f113c6befc2498b3770eb5dd61a69a9 + // Purpur end } diff --git a/src/main/java/org/bukkit/inventory/ItemStack.java b/src/main/java/org/bukkit/inventory/ItemStack.java -index 14cdc64334d6a19102eca6d7d724c35aecf1c1e2..bbf0f3c1cddb3b11020a80424a4dbca1b53f1c2c 100644 +index 59a026d80b0a0a4890becf98efdbe5325b2c622a..ff9815e10cef89e98fb6d0181ac1eee0cc24d296 100644 --- a/src/main/java/org/bukkit/inventory/ItemStack.java +++ b/src/main/java/org/bukkit/inventory/ItemStack.java @@ -17,6 +17,18 @@ import org.bukkit.inventory.meta.ItemMeta; @@ -72,7 +72,7 @@ index 14cdc64334d6a19102eca6d7d724c35aecf1c1e2..bbf0f3c1cddb3b11020a80424a4dbca1 /** * Represents a stack of items. -@@ -922,4 +934,626 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor +@@ -935,4 +947,626 @@ public class ItemStack implements Cloneable, ConfigurationSerializable, net.kyor return Bukkit.getUnsafe().isValidRepairItemStack(toBeRepaired, this); } // Paper end diff --git a/patches/api/0032-Fix-javadoc-warnings-missing-param-and-return.patch b/patches/api/0032-Fix-javadoc-warnings-missing-param-and-return.patch index 5b6d01d14..73dee9c38 100644 --- a/patches/api/0032-Fix-javadoc-warnings-missing-param-and-return.patch +++ b/patches/api/0032-Fix-javadoc-warnings-missing-param-and-return.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix javadoc warnings (missing @param and @return) diff --git a/src/main/java/com/destroystokyo/paper/ClientOption.java b/src/main/java/com/destroystokyo/paper/ClientOption.java -index 9dad814cf51bc59ec5dfbf14474fea6557de38aa..7baf7ee3b62135eda8f0d9c1d761b79f596061f1 100644 +index cedb51f9f3a9150035c2b44970a096448c441dd9..130fab58e6d448ec08667e2a6c13fc78121f802b 100644 --- a/src/main/java/com/destroystokyo/paper/ClientOption.java +++ b/src/main/java/com/destroystokyo/paper/ClientOption.java -@@ -4,6 +4,11 @@ import org.jetbrains.annotations.NotNull; +@@ -6,6 +6,11 @@ import org.jetbrains.annotations.NotNull; import org.bukkit.inventory.MainHand; @@ -20,7 +20,7 @@ index 9dad814cf51bc59ec5dfbf14474fea6557de38aa..7baf7ee3b62135eda8f0d9c1d761b79f public final class ClientOption { public static final ClientOption SKIN_PARTS = new ClientOption<>(SkinParts.class); -@@ -19,6 +24,11 @@ public final class ClientOption { +@@ -21,6 +26,11 @@ public final class ClientOption { this.type = type; } @@ -489,10 +489,10 @@ index 3afd5f5c0208a4ee93b5dbfc2aab2b9d2e8a7544..7838731e0e16bdccfb79e74ceb64148f /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 9b316559dba0b1df674d68bdd51d3497dcd25d61..988b1c6c819cac350cde581e486e98d886227c4e 100644 +index 0b68d0bd03822ed90effc4e57d288973f3164f16..86141c856478c6b39f7ef52f590a68e564da1ba9 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1650,6 +1650,9 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1652,6 +1652,9 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi UnsafeValues getUnsafe(); // Spigot start @@ -616,10 +616,10 @@ index d1757f3d456ff9efce26ce8baa1d16d896908cc2..a5db52386e11e4b5511ae417a0e7ac92 TASK(ChatColor.GREEN), CHALLENGE(ChatColor.DARK_PURPLE), diff --git a/src/main/java/org/bukkit/block/Block.java b/src/main/java/org/bukkit/block/Block.java -index ca488173a20bcf3427906f0a6548f06a97c9dc36..3b6fd2083d00a0cf2add91302a74c8f905563d09 100644 +index ad8bce01ba459a036cd4ebbbe4fc974021924fe2..466de59ee63a065151f62029743598f1e8d54253 100644 --- a/src/main/java/org/bukkit/block/Block.java +++ b/src/main/java/org/bukkit/block/Block.java -@@ -184,6 +184,9 @@ public interface Block extends Metadatable { +@@ -184,6 +184,9 @@ public interface Block extends Metadatable, net.kyori.adventure.translation.Tran * {@code int z = (int) ((packed << 10) >> 37);} *

* @@ -880,7 +880,7 @@ index c6f33ed7502fe8ad58f937ac2e326b85416452c2..6a16e4dcebaf6c899859039774383125 public boolean isTicking(); // Paper end diff --git a/src/main/java/org/bukkit/entity/EntityType.java b/src/main/java/org/bukkit/entity/EntityType.java -index f415b61b0d4b57e1557aaf240a0f2ad5915035fc..e501ef166445ad6c515b95151d151ef759bea8f5 100644 +index d36d314383713bac3b11f18d95b0809dce3cd6e0..6a340d660d75968a52005502e6b410e2408140af 100644 --- a/src/main/java/org/bukkit/entity/EntityType.java +++ b/src/main/java/org/bukkit/entity/EntityType.java @@ -20,6 +20,9 @@ import org.jetbrains.annotations.Contract; @@ -890,7 +890,7 @@ index f415b61b0d4b57e1557aaf240a0f2ad5915035fc..e501ef166445ad6c515b95151d151ef7 +/** + * Entity type + */ - public enum EntityType implements Keyed { + public enum EntityType implements Keyed, net.kyori.adventure.translation.Translatable { // Paper - translatable // These strings MUST match the strings in nms.EntityTypes and are case sensitive. diff --git a/src/main/java/org/bukkit/entity/Firework.java b/src/main/java/org/bukkit/entity/Firework.java @@ -949,10 +949,10 @@ index a6a7429ed2e1eefb2b12b7480ed74fcc3963a864..e8027e1d505dda6effbb1698550016e8 NORMAL(false), diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 28eb87afaa61a22e1962f0b233854314e474692b..da1ebc0bddee0b3f53ec0f7a46f7ce1c517c329c 100644 +index 702b2cb940fd269c4ddc0c25c7aefd00d014b942..3fc740eca60e4d21c13f1a4495f84ec765c007c9 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2052,6 +2052,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2121,6 +2121,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM void resetCooldown(); /** @@ -961,7 +961,7 @@ index 28eb87afaa61a22e1962f0b233854314e474692b..da1ebc0bddee0b3f53ec0f7a46f7ce1c * @return the client option value of the player */ @NotNull -@@ -2091,6 +2093,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2160,6 +2162,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM // Paper end // Spigot start @@ -1161,10 +1161,10 @@ index 1e702f94e1994bb9ee5c0871152048f4f4b1defc..4cbf2dca3e59967d562d88caf9998382 /** * When a zombie gets cured and a villager is spawned. diff --git a/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java b/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java -index e0e068799a1868c8e561869015f41f553ef4fbdb..9fa0ba2f81a6724491c22446c87135841d099fb0 100644 +index 95248d0f5cf9b62d31a4883955b9088a7fc8a3b3..4367e272a0eb8010afbdb478ca56cfd87eb87315 100644 --- a/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java +++ b/src/main/java/org/bukkit/event/entity/EntityUnleashEvent.java -@@ -66,6 +66,9 @@ public class EntityUnleashEvent extends EntityEvent { +@@ -85,6 +85,9 @@ public class EntityUnleashEvent extends EntityEvent implements org.bukkit.event. return handlers; } diff --git a/patches/api/0038-Conflict-on-change-for-adventure-deprecations.patch b/patches/api/0038-Conflict-on-change-for-adventure-deprecations.patch index 2e3a06d29..2c2135e94 100644 --- a/patches/api/0038-Conflict-on-change-for-adventure-deprecations.patch +++ b/patches/api/0038-Conflict-on-change-for-adventure-deprecations.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Conflict on change for adventure deprecations diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 4a7e1521711c4e4728662cd6200d6d9d6b600713..34902835cd4e030902feb568a2315c7f5d60f0eb 100644 +index 39490406f914a5082d9d4b3937d9df63c222efa6..e4ec2a0c15a6ada5bef9671e427cd56413f18d80 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -346,7 +346,7 @@ public final class Bukkit { @@ -26,7 +26,7 @@ index 4a7e1521711c4e4728662cd6200d6d9d6b600713..34902835cd4e030902feb568a2315c7f public static int broadcast(@NotNull String message, @NotNull String permission) { return server.broadcast(message, permission); } -@@ -1322,7 +1322,7 @@ public final class Bukkit { +@@ -1324,7 +1324,7 @@ public final class Bukkit { * * @see InventoryType#isCreatable() */ @@ -35,7 +35,7 @@ index 4a7e1521711c4e4728662cd6200d6d9d6b600713..34902835cd4e030902feb568a2315c7f @NotNull public static Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title) { return server.createInventory(owner, type, title); -@@ -1372,7 +1372,7 @@ public final class Bukkit { +@@ -1374,7 +1374,7 @@ public final class Bukkit { * @throws IllegalArgumentException if the size is not a multiple of 9 * @deprecated in favour of {@link #createInventory(InventoryHolder, InventoryType, net.kyori.adventure.text.Component)} */ @@ -44,7 +44,7 @@ index 4a7e1521711c4e4728662cd6200d6d9d6b600713..34902835cd4e030902feb568a2315c7f @NotNull public static Inventory createInventory(@Nullable InventoryHolder owner, int size, @NotNull String title) throws IllegalArgumentException { return server.createInventory(owner, size, title); -@@ -1399,7 +1399,7 @@ public final class Bukkit { +@@ -1401,7 +1401,7 @@ public final class Bukkit { * @deprecated in favour of {@link #createMerchant(net.kyori.adventure.text.Component)} */ @NotNull @@ -53,7 +53,7 @@ index 4a7e1521711c4e4728662cd6200d6d9d6b600713..34902835cd4e030902feb568a2315c7f public static Merchant createMerchant(@Nullable String title) { return server.createMerchant(title); } -@@ -1488,7 +1488,7 @@ public final class Bukkit { +@@ -1490,7 +1490,7 @@ public final class Bukkit { * @deprecated in favour of {@link #motd()} */ @NotNull @@ -62,7 +62,7 @@ index 4a7e1521711c4e4728662cd6200d6d9d6b600713..34902835cd4e030902feb568a2315c7f public static String getMotd() { return server.getMotd(); } -@@ -1510,7 +1510,7 @@ public final class Bukkit { +@@ -1512,7 +1512,7 @@ public final class Bukkit { * @deprecated in favour of {@link #shutdownMessage()} */ @Nullable @@ -72,7 +72,7 @@ index 4a7e1521711c4e4728662cd6200d6d9d6b600713..34902835cd4e030902feb568a2315c7f return server.getShutdownMessage(); } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 988b1c6c819cac350cde581e486e98d886227c4e..061ce81a781ac1c577927972b862f48a453ba400 100644 +index 86141c856478c6b39f7ef52f590a68e564da1ba9..80c70522eecb08c0dbfadcdeb21c9cfac42d7902 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -270,7 +270,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @@ -93,7 +93,7 @@ index 988b1c6c819cac350cde581e486e98d886227c4e..061ce81a781ac1c577927972b862f48a public int broadcast(@NotNull String message, @NotNull String permission); // Paper start /** -@@ -1106,7 +1106,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1108,7 +1108,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * * @see InventoryType#isCreatable() */ @@ -102,7 +102,7 @@ index 988b1c6c819cac350cde581e486e98d886227c4e..061ce81a781ac1c577927972b862f48a @NotNull Inventory createInventory(@Nullable InventoryHolder owner, @NotNull InventoryType type, @NotNull String title); -@@ -1150,7 +1150,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1152,7 +1152,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @throws IllegalArgumentException if the size is not a multiple of 9 * @deprecated in favour of {@link #createInventory(InventoryHolder, int, net.kyori.adventure.text.Component)} */ @@ -111,7 +111,7 @@ index 988b1c6c819cac350cde581e486e98d886227c4e..061ce81a781ac1c577927972b862f48a @NotNull Inventory createInventory(@Nullable InventoryHolder owner, int size, @NotNull String title) throws IllegalArgumentException; -@@ -1173,7 +1173,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1175,7 +1175,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @deprecated in favour of {@link #createMerchant(net.kyori.adventure.text.Component)} */ @NotNull @@ -120,7 +120,7 @@ index 988b1c6c819cac350cde581e486e98d886227c4e..061ce81a781ac1c577927972b862f48a Merchant createMerchant(@Nullable String title); /** -@@ -1246,7 +1246,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1248,7 +1248,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @deprecated in favour of {@link #motd()} */ @NotNull @@ -129,7 +129,7 @@ index 988b1c6c819cac350cde581e486e98d886227c4e..061ce81a781ac1c577927972b862f48a String getMotd(); // Paper start -@@ -1264,7 +1264,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1266,7 +1266,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @deprecated in favour of {@link #shutdownMessage()} */ @Nullable @@ -170,7 +170,7 @@ index c8d37184d8e882a4084a1bfef85faa330588600b..46bae5c13ce2b973b114682f6a338981 /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index da1ebc0bddee0b3f53ec0f7a46f7ce1c517c329c..01e3372e67de500b46544bc83a6ba929424e5fda 100644 +index 3fc740eca60e4d21c13f1a4495f84ec765c007c9..6c540b0c74ba6f4fe8a1ff35db24050b78775fc3 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java @@ -75,7 +75,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @@ -263,7 +263,7 @@ index da1ebc0bddee0b3f53ec0f7a46f7ce1c517c329c..01e3372e67de500b46544bc83a6ba929 public void kickPlayer(@Nullable String message); // Paper start -@@ -625,7 +625,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -673,7 +673,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if lines is non-null and has a length less than 4 * @deprecated in favour of {@link #sendSignChange(org.bukkit.Location, java.util.List)} */ @@ -271,8 +271,8 @@ index da1ebc0bddee0b3f53ec0f7a46f7ce1c517c329c..01e3372e67de500b46544bc83a6ba929 + @Deprecated // Paper // Purpur - conflict on change public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException; - -@@ -647,7 +647,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM + /** +@@ -694,7 +694,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @throws IllegalArgumentException if lines is non-null and has a length less than 4 * @deprecated in favour of {@link #sendSignChange(org.bukkit.Location, java.util.List, org.bukkit.DyeColor)} */ @@ -281,7 +281,7 @@ index da1ebc0bddee0b3f53ec0f7a46f7ce1c517c329c..01e3372e67de500b46544bc83a6ba929 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException; /** -@@ -1796,7 +1796,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1865,7 +1865,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @deprecated in favour of {@link #locale()} */ @NotNull diff --git a/patches/api/0042-Flying-Fall-Damage-API.patch b/patches/api/0042-Flying-Fall-Damage-API.patch index 4e598ef0d..0fe4f982b 100644 --- a/patches/api/0042-Flying-Fall-Damage-API.patch +++ b/patches/api/0042-Flying-Fall-Damage-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Flying Fall Damage API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 01e3372e67de500b46544bc83a6ba929424e5fda..07f188af3ed85b96051b17bf243ae873800abec2 100644 +index 6c540b0c74ba6f4fe8a1ff35db24050b78775fc3..8f132156ca772c651648de5333152e1b50adecb8 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2276,5 +2276,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2345,5 +2345,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param invulnerableTicks Invulnerable ticks remaining */ void setSpawnInvulnerableTicks(int invulnerableTicks); diff --git a/patches/server/0001-Tuinity-Server-Changes.patch b/patches/server/0001-Tuinity-Server-Changes.patch index 4c2c84d2f..3bc0f0be2 100644 --- a/patches/server/0001-Tuinity-Server-Changes.patch +++ b/patches/server/0001-Tuinity-Server-Changes.patch @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/build.gradle.kts b/build.gradle.kts -index b50463c2356301a1b47a0bf4f50dc1f121d363a1..f5a9c41fdbaede65cf4607737421571f0c344c1f 100644 +index 3927eb2cd13499bca7561ae7d9be45ae86522125..324285684ea1a79c3844142046dca9a34f78e1a9 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,10 +1,16 @@ @@ -24760,7 +24760,7 @@ index 0000000000000000000000000000000000000000..49dc783a312ed62415d28cdd801dad6a +} diff --git a/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java new file mode 100644 -index 0000000000000000000000000000000000000000..bca56d612451a70b55ed37817df7cf4453311477 +index 0000000000000000000000000000000000000000..7b437109a1da79a916f194a2802bef68eccc06ab --- /dev/null +++ b/src/main/java/com/tuinity/tuinity/config/TuinityConfig.java @@ -0,0 +1,441 @@ @@ -24943,7 +24943,7 @@ index 0000000000000000000000000000000000000000..bca56d612451a70b55ed37817df7cf44 + "PacketPlayInAutoRecipe" + ".action", PacketLimit.ViolateAction.DROP.name()); + + final Map mojangToSpigot = new HashMap<>(); -+ final Map maps = ObfHelper.INSTANCE.mappings(); ++ final Map maps = ObfHelper.INSTANCE.mappingsByObfName(); + if (maps != null) { + maps.forEach((spigotName, classMapping) -> + mojangToSpigot.put(classMapping.mojangName(), classMapping.obfName())); @@ -32798,7 +32798,7 @@ index 0d143d073fa7cdfa14f12e9c795350dca8ac5e80..8b84befc6840d25dc3d6e2d42a4024a3 return true; } else { diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java -index e5cae2fb67541785072324e5434820ee4b169556..60e58d5f03c66146a86b49c4d1ef17080f094a4c 100644 +index fe62ec1a888a93d90f40d86908f83faaed907ba6..d73aa6032bf56448f518cff9f019b3f7a1c5eddb 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java +++ b/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -173,7 +173,7 @@ public class ServerEntity { @@ -33312,7 +33312,7 @@ index baa25df9f446c8edea9666983425df31c32a13ff..f9ed48f5bbde84fd1804e482f2777b51 public void onTrackingStart(Entity entity) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5ecfd9a1e39343746828520c307879547feb33a7..b0f5224ec677d2806fde65f495819b11775705e5 100644 +index bc05cc34f6cd526a1d13261f1ac779d5397cbbac..53ef5ecc750f9d0e2634267a33042f24c969f305 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -261,7 +261,7 @@ public class ServerPlayer extends Player { @@ -33342,7 +33342,7 @@ index 5ecfd9a1e39343746828520c307879547feb33a7..b0f5224ec677d2806fde65f495819b11 this.setPos(this.getX(), this.getY() + 1.0D, this.getZ()); } } -@@ -1562,6 +1562,18 @@ public class ServerPlayer extends Player { +@@ -1564,6 +1564,18 @@ public class ServerPlayer extends Player { this.connection.send(new ClientboundContainerClosePacket(this.containerMenu.containerId)); this.doCloseContainer(); } @@ -34322,7 +34322,7 @@ index 020a19cd683dd3779c5116d12b3cdcd3b3ca69b4..17d209c347b07acef451180c97835f41 public static final Codec POSITIVE_CODEC = codec(1, Integer.MAX_VALUE); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 896d892237b29eb404398db07264eb6f04786754..2453492429a743677db07e31d575c1473fedf4ad 100644 +index b8f8f4b369ed5f77a644b6bc8aea5068a0f03582..b4c15376da0ba9c33efe7e7da648690e7a931981 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -356,8 +356,27 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -34655,7 +34655,7 @@ index 896d892237b29eb404398db07264eb6f04786754..2453492429a743677db07e31d575c147 return false; } -@@ -3727,7 +3916,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -3742,7 +3931,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n } public void setDeltaMovement(Vec3 velocity) { @@ -34665,7 +34665,7 @@ index 896d892237b29eb404398db07264eb6f04786754..2453492429a743677db07e31d575c147 } public void setDeltaMovement(double x, double y, double z) { -@@ -3794,7 +3985,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -3809,7 +4000,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n // Paper end // Paper start - fix MC-4 if (this instanceof ItemEntity) { @@ -34674,7 +34674,7 @@ index 896d892237b29eb404398db07264eb6f04786754..2453492429a743677db07e31d575c147 // encode/decode from PacketPlayOutEntity x = Mth.lfloor(x * 4096.0D) * (1 / 4096.0D); y = Mth.lfloor(y * 4096.0D) * (1 / 4096.0D); -@@ -3803,7 +3994,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -3818,7 +4009,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n } // Paper end - fix MC-4 if (this.position.x != x || this.position.y != y || this.position.z != z) { @@ -34685,7 +34685,7 @@ index 896d892237b29eb404398db07264eb6f04786754..2453492429a743677db07e31d575c147 int j = Mth.floor(y); int k = Mth.floor(z); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index a8e5be1c941755b3e5b335d8211ca70a6c6fc32f..5eb93bacd303ebed0a702221f8ae31631d42f45d 100644 +index bada11542390b7575466f0e7062470665b8266c4..c73f3aa6dd75fe03c7e18180487d7bd6374b6339 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -789,7 +789,12 @@ public abstract class Mob extends LivingEntity { @@ -38470,7 +38470,7 @@ index 6d7f16fede01c19f638e1dcdae8b07b79cd86dc0..57dab1be4bfa91c7c9d7e53e7fe388a9 public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 7dc26321e20e26821096e79356a358879306cd78..2e79e2a23a4aec4b526814f7e959232c0a074860 100644 +index eda5af586fa9710e8bb945bc65b8fe1579daea5a..2d59a2ee00feb596f5066b4a118dd06ec156ace7 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -290,7 +290,7 @@ public class CraftWorld implements World { @@ -38554,7 +38554,7 @@ index 7dc26321e20e26821096e79356a358879306cd78..2e79e2a23a4aec4b526814f7e959232c return chunks.values().stream().map(ChunkHolder::getFullChunk).filter(Objects::nonNull).map(net.minecraft.world.level.chunk.LevelChunk::getBukkitChunk).toArray(Chunk[]::new); } -@@ -2672,7 +2675,7 @@ public class CraftWorld implements World { +@@ -2702,7 +2705,7 @@ public class CraftWorld implements World { // Paper end return this.world.getChunkSource().getChunkAtAsynchronously(x, z, gen, urgent).thenComposeAsync((either) -> { net.minecraft.world.level.chunk.LevelChunk chunk = (net.minecraft.world.level.chunk.LevelChunk) either.left().orElse(null); @@ -38563,7 +38563,7 @@ index 7dc26321e20e26821096e79356a358879306cd78..2e79e2a23a4aec4b526814f7e959232c return java.util.concurrent.CompletableFuture.completedFuture(chunk == null ? null : chunk.getBukkitChunk()); }, net.minecraft.server.MinecraftServer.getServer()); } -@@ -2697,14 +2700,14 @@ public class CraftWorld implements World { +@@ -2727,14 +2730,14 @@ public class CraftWorld implements World { throw new IllegalArgumentException("View distance " + viewDistance + " is out of range of [2, 32]"); } net.minecraft.server.level.ChunkMap chunkMap = getHandle().getChunkSource().chunkMap; @@ -38580,7 +38580,7 @@ index 7dc26321e20e26821096e79356a358879306cd78..2e79e2a23a4aec4b526814f7e959232c } @Override -@@ -2713,11 +2716,22 @@ public class CraftWorld implements World { +@@ -2743,11 +2746,22 @@ public class CraftWorld implements World { throw new IllegalArgumentException("View distance " + viewDistance + " is out of range of [2, 32]"); } net.minecraft.server.level.ChunkMap chunkMap = getHandle().getChunkSource().chunkMap; @@ -38605,7 +38605,7 @@ index 7dc26321e20e26821096e79356a358879306cd78..2e79e2a23a4aec4b526814f7e959232c // Spigot start private final org.bukkit.World.Spigot spigot = new org.bukkit.World.Spigot() diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index eb0c436414a66c530d888348c3190eb563b8b44f..4bd8823bfee3fcdeba5c5b7aae3489a92c2ac536 100644 +index 22e9dd17f62103c5061435099ce96a3d70d54808..673fce7aa55cffc2c9ee017242d194a0dfd8be6b 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java @@ -146,6 +146,13 @@ public class Main { @@ -38691,7 +38691,7 @@ index 85ca30aef0703db6859e66c62781ecfd334426e7..8ce49478441e77cedf5148ecb81d78b3 @Override public boolean teleport(Location location) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3971fed7a0d1399117366a5d7dd2e84adbfda55a..7eed75ad1d5d7c62f35bdaed3766fcdb7aac2ce6 100644 +index 63aa742c505e14faa9bf5df29a8f759486fac80b..b2c6d1611422a3900e5c9d4b1983cc74dd820973 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -517,15 +517,70 @@ public class CraftPlayer extends CraftHumanEntity implements Player { diff --git a/patches/server/0005-Component-related-conveniences.patch b/patches/server/0005-Component-related-conveniences.patch index 23153196a..ab3291607 100644 --- a/patches/server/0005-Component-related-conveniences.patch +++ b/patches/server/0005-Component-related-conveniences.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Component related conveniences diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index a45a43dd6e48433ecbbbf3ef475fbba9c0531d19..3802a1dc3997704031d22165f60f854f50bda9d6 100644 +index 52a81eaac0a080738fc2d12b30693ad161066d77..6d25b3397a45d77b96d04a5b099d58a092d43177 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1678,6 +1678,26 @@ public class ServerPlayer extends Player { +@@ -1680,6 +1680,26 @@ public class ServerPlayer extends Player { } // CraftBukkit end @@ -36,7 +36,7 @@ index a45a43dd6e48433ecbbbf3ef475fbba9c0531d19..3802a1dc3997704031d22165f60f854f public void displayClientMessage(Component message, boolean actionBar) { this.sendMessage(message, actionBar ? ChatType.GAME_INFO : ChatType.CHAT, Util.NIL_UUID); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 936ae5576902e6593bd21af4d3cf3998109347b5..6cb325b098fe64b746940ce79fd927320ec444e6 100644 +index ea8956b2c4cbe7059512ebfa9fd7a865e5fae0ac..1bbb3f0658628ec36cd9e177df3acc07ef107428 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1396,6 +1396,62 @@ public abstract class PlayerList { @@ -103,7 +103,7 @@ index 936ae5576902e6593bd21af4d3cf3998109347b5..6cb325b098fe64b746940ce79fd92732 this.server.sendMessage(message, sender); Iterator iterator = this.players.iterator(); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 2453492429a743677db07e31d575c1473fedf4ad..28d7e18c9b53b7563b9c4af9afde4e1261d454e4 100644 +index b4c15376da0ba9c33efe7e7da648690e7a931981..4425095e6dd259d69cdf318e463e31050e79a7de 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3565,6 +3565,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n diff --git a/patches/server/0006-Ridables.patch b/patches/server/0006-Ridables.patch index ea94e36d6..b1eb3b2d8 100644 --- a/patches/server/0006-Ridables.patch +++ b/patches/server/0006-Ridables.patch @@ -46,7 +46,7 @@ index f9ed48f5bbde84fd1804e482f2777b516cc3a1ef..29b841462037fa97f72971c490b617d1 return new Throwable(entity + " Added to world at " + new java.util.Date()); } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 660f7fbbdd88b8eb2b58aed03925ee63db924a7c..ce796a2cc083ffc5497cdb3bac9da87ea4ba94a7 100644 +index 6d25b3397a45d77b96d04a5b099d58a092d43177..651423979d4d5acbcf0bc25d6225a72a16e21826 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -665,6 +665,15 @@ public class ServerPlayer extends Player { @@ -65,7 +65,7 @@ index 660f7fbbdd88b8eb2b58aed03925ee63db924a7c..ce796a2cc083ffc5497cdb3bac9da87e } public void doTick() { -@@ -2437,4 +2446,6 @@ public class ServerPlayer extends Player { +@@ -2439,4 +2448,6 @@ public class ServerPlayer extends Player { return (CraftPlayer) super.getBukkitEntity(); } // CraftBukkit end @@ -86,7 +86,7 @@ index f99d06e53856c14f5b94c28d379b8188ac1411db..c02b3cdd93df7806d52138b02612dd48 if ((entity instanceof AbstractFish && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((AbstractFish) entity)); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 28d7e18c9b53b7563b9c4af9afde4e1261d454e4..08efd9b12786077e4f6ae1bfffb912d317f4f418 100644 +index 4425095e6dd259d69cdf318e463e31050e79a7de..4cbbe95d3bf14479baa15069d30972471c3bbf0b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -135,7 +135,7 @@ index 28d7e18c9b53b7563b9c4af9afde4e1261d454e4..08efd9b12786077e4f6ae1bfffb912d3 if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -@@ -4213,4 +4227,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -4228,4 +4242,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this); } // Paper end @@ -201,7 +201,7 @@ index d28cecd9bea7c82fa675d333810e2e63a91c615e..8f8bc29d847801938e251904b8334b4b 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 2b7eeb5659b1083ef550eb9feb0b7ba8a92a92e3..f8e080a943082a10fef3bd99c86ffe78aae8e0b4 100644 +index b2e48e16bc944e6c5898f3d415e935c421243e16..f77609bcc20ac411ae5b0840645381301cee15f0 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 { @@ -262,7 +262,7 @@ index 2b7eeb5659b1083ef550eb9feb0b7ba8a92a92e3..f8e080a943082a10fef3bd99c86ffe78 // Paper end if (!this.level.isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 5eb93bacd303ebed0a702221f8ae31631d42f45d..c8dee3a9a5cafc9f0fd88becd843823836cd19b3 100644 +index c73f3aa6dd75fe03c7e18180487d7bd6374b6339..4a3b6eac2c32cd2b69eb81f60ed55cd051412903 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -140,6 +140,8 @@ public abstract class Mob extends LivingEntity { @@ -5752,7 +5752,7 @@ index 8ce49478441e77cedf5148ecb81d78b32660329e..fb5cd6fe7903f3f96af1abb55832bafb + // 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 622a0f23db838b839f76722df0e5480ec927b4a2..98e0c1e64d23552b8e8de5e17cee09fc0cb08d5c 100644 +index db6c0917824b9127abd9f9250dc195a9f1d56f4f..89ad1c69456fb4aaf2ab8742c76343b30b74ecd0 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -537,6 +537,15 @@ public class CraftEventFactory { @@ -5771,7 +5771,7 @@ index 622a0f23db838b839f76722df0e5480ec927b4a2..98e0c1e64d23552b8e8de5e17cee09fc return event; } -@@ -959,6 +968,7 @@ public class CraftEventFactory { +@@ -960,6 +969,7 @@ public class CraftEventFactory { damageCause = DamageCause.ENTITY_EXPLOSION; } event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), entity.getBukkitEntity(), damageCause, modifiers, modifierFunctions); @@ -5779,7 +5779,7 @@ index 622a0f23db838b839f76722df0e5480ec927b4a2..98e0c1e64d23552b8e8de5e17cee09fc } event.setCancelled(cancelled); -@@ -1046,6 +1056,7 @@ public class CraftEventFactory { +@@ -1045,6 +1055,7 @@ public class CraftEventFactory { if (!event.isCancelled()) { event.getEntity().setLastDamageCause(event); } @@ -5787,7 +5787,7 @@ index 622a0f23db838b839f76722df0e5480ec927b4a2..98e0c1e64d23552b8e8de5e17cee09fc return event; } -@@ -1097,6 +1108,7 @@ public class CraftEventFactory { +@@ -1096,6 +1107,7 @@ public class CraftEventFactory { EntityDamageEvent event; if (damager != null) { event = new EntityDamageByEntityEvent(damager.getBukkitEntity(), damagee.getBukkitEntity(), cause, modifiers, modifierFunctions); diff --git a/patches/server/0012-AFK-API.patch b/patches/server/0012-AFK-API.patch index 39b96a912..cb1af09e4 100644 --- a/patches/server/0012-AFK-API.patch +++ b/patches/server/0012-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ce796a2cc083ffc5497cdb3bac9da87ea4ba94a7..ee9ce98995a3130938bd09d8d0ec4855e4419829 100644 +index 651423979d4d5acbcf0bc25d6225a72a16e21826..bd4583ff7d76b83003ca327e8301fb1d5ff18f66 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1953,8 +1953,58 @@ public class ServerPlayer extends Player { +@@ -1955,8 +1955,58 @@ public class ServerPlayer extends Player { public void resetLastActionTime() { this.lastActionTime = Util.getMillis(); @@ -237,7 +237,7 @@ index 3627b50dd3af5da225004cd3f8158fcbd30d8ea3..58b2f795b7018ac92fd72369bbe58d2f public boolean untamedTamablesAreRidable = true; public boolean useNightVisionWhenRiding = false; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 7eed75ad1d5d7c62f35bdaed3766fcdb7aac2ce6..96c515506a2613d622afc28d902281c0b702c309 100644 +index b2c6d1611422a3900e5c9d4b1983cc74dd820973..c5c611cfba9feb18d417b45e9909e08be7743e22 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -424,10 +424,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -257,7 +257,7 @@ index 7eed75ad1d5d7c62f35bdaed3766fcdb7aac2ce6..96c515506a2613d622afc28d902281c0 for (ServerPlayer player : (List) server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -2544,4 +2549,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2549,4 +2554,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end diff --git a/patches/server/0020-Player-invulnerabilities.patch b/patches/server/0020-Player-invulnerabilities.patch index 320980b66..b5d2c73c6 100644 --- a/patches/server/0020-Player-invulnerabilities.patch +++ b/patches/server/0020-Player-invulnerabilities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Player invulnerabilities diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index ee9ce98995a3130938bd09d8d0ec4855e4419829..3dbb4b7bd25274c7e72ffcb6e12aae06b31b5530 100644 +index bd4583ff7d76b83003ca327e8301fb1d5ff18f66..59fa9a9bcfde0a0137fa322343052ed68e47edbe 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -259,6 +259,7 @@ public class ServerPlayer extends Player { @@ -24,7 +24,7 @@ index ee9ce98995a3130938bd09d8d0ec4855e4419829..3dbb4b7bd25274c7e72ffcb6e12aae06 } // Paper start - Chunk priority public BlockPos getPointInFront(double inFront) { -@@ -976,6 +978,12 @@ public class ServerPlayer extends Player { +@@ -978,6 +980,12 @@ public class ServerPlayer extends Player { } @@ -37,7 +37,7 @@ index ee9ce98995a3130938bd09d8d0ec4855e4419829..3dbb4b7bd25274c7e72ffcb6e12aae06 @Override public boolean hurt(DamageSource source, float amount) { if (this.isInvulnerableTo(source)) { -@@ -983,7 +991,7 @@ public class ServerPlayer extends Player { +@@ -985,7 +993,7 @@ public class ServerPlayer extends Player { } else { boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId); @@ -46,7 +46,7 @@ index ee9ce98995a3130938bd09d8d0ec4855e4419829..3dbb4b7bd25274c7e72ffcb6e12aae06 return false; } else { if (source instanceof EntityDamageSource) { -@@ -1158,6 +1166,7 @@ public class ServerPlayer extends Player { +@@ -1160,6 +1168,7 @@ public class ServerPlayer extends Player { } // Paper end @@ -54,7 +54,7 @@ index ee9ce98995a3130938bd09d8d0ec4855e4419829..3dbb4b7bd25274c7e72ffcb6e12aae06 return this; } } -@@ -1943,6 +1952,7 @@ public class ServerPlayer extends Player { +@@ -1945,6 +1954,7 @@ public class ServerPlayer extends Player { } public void sendTexturePack(String url, String hash, boolean required, @Nullable Component resourcePackPrompt) { @@ -62,7 +62,7 @@ index ee9ce98995a3130938bd09d8d0ec4855e4419829..3dbb4b7bd25274c7e72ffcb6e12aae06 this.connection.send(new ClientboundResourcePackPacket(url, hash, required, resourcePackPrompt)); } -@@ -2447,9 +2457,17 @@ public class ServerPlayer extends Player { +@@ -2449,9 +2459,17 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { @@ -142,10 +142,10 @@ index 58b2f795b7018ac92fd72369bbe58d2f2c266adc..613dd74b460c0bd15fc8fd4e78380a81 public boolean babiesAreRidable = true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 96c515506a2613d622afc28d902281c0b702c309..de370ef508e72e16e43b872cbad032b414b6cf62 100644 +index c5c611cfba9feb18d417b45e9909e08be7743e22..ec4397cc98b66fef55a91854c42518479b839bbe 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2565,5 +2565,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2570,5 +2570,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetIdleTimer() { getHandle().resetLastActionTime(); } diff --git a/patches/server/0047-Signs-allow-color-codes.patch b/patches/server/0047-Signs-allow-color-codes.patch index ede7840eb..a05dbcc10 100644 --- a/patches/server/0047-Signs-allow-color-codes.patch +++ b/patches/server/0047-Signs-allow-color-codes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 3dbb4b7bd25274c7e72ffcb6e12aae06b31b5530..6f060f7e14043186dc15bc71f69de2817f76f2f1 100644 +index 59fa9a9bcfde0a0137fa322343052ed68e47edbe..b13328e1563fa01c141a52bf898ebc520098d0d2 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1462,6 +1462,7 @@ public class ServerPlayer extends Player { +@@ -1464,6 +1464,7 @@ public class ServerPlayer extends Player { @Override public void openTextEdit(SignBlockEntity sign) { diff --git a/patches/server/0049-Minecart-settings-and-WASD-controls.patch b/patches/server/0049-Minecart-settings-and-WASD-controls.patch index dcc6cb352..227a61967 100644 --- a/patches/server/0049-Minecart-settings-and-WASD-controls.patch +++ b/patches/server/0049-Minecart-settings-and-WASD-controls.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 349aac496cf51f0a837d032d509364c13cece6ca..edaff3eb46fd1de456acbc465d644ac9454022d3 100644 +index b13328e1563fa01c141a52bf898ebc520098d0d2..b9f7812f19b194dc19b63cabd9369c5ed56dbe73 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -989,6 +989,7 @@ public class ServerPlayer extends Player { +@@ -991,6 +991,7 @@ public class ServerPlayer extends Player { if (this.isInvulnerableTo(source)) { return false; } else { @@ -148,7 +148,7 @@ index 04d5ef90cd4171f9360017ac0c01ce48ae6ec983..7538262e14c86e4da9cd4cb887b76f64 protected final float explosionResistance; protected final boolean isRandomlyTicking; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 29c0d3ea1eb0e14b0c58c540512aa0c4c7feac1f..63ee287bb2baa87f56a3a59e4859a0cfe38e696b 100644 +index 9ce64a3d7a00877688f1e45a3961159cb35c8d9f..51f8045f4f607db3cf63d30fa6783257466a6022 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -98,6 +98,68 @@ public class PurpurWorldConfig { diff --git a/patches/server/0066-Add-canSaveToDisk-to-Entity.patch b/patches/server/0066-Add-canSaveToDisk-to-Entity.patch index a0a1bbb65..cc36ef1b7 100644 --- a/patches/server/0066-Add-canSaveToDisk-to-Entity.patch +++ b/patches/server/0066-Add-canSaveToDisk-to-Entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ad8497df1b0410989afd22d65e6afd0e72b0926f..35de254dfb565b75286fc130573b8d788dce1982 100644 +index 8b41201c84aac11a71a1f2ce730cc1bbe0d47a33..ed2401f46f1ba021c4236c23c655786afd8c36b0 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4264,5 +4264,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -4279,5 +4279,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n public boolean processClick(InteractionHand hand) { return false; } @@ -35,7 +35,7 @@ index f52420f27f51d9dbf214f96a0530c0f17f2bc5fc..12cd1b453150e098975c34e00ec9277f skull.setPosRaw(headX, headY, headZ); level.addFreshEntity(skull); diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java -index 396c34c0866bf395b4d86361d96fe103c5d9ae7e..320291b611cbb243a54ea882b16d70d061d21492 100644 +index 91d692e9337c2ec6824829259ea6ea1ad343d21a..6c9b139cfb1dfa1eb80fdb72651c8c3f921e74ea 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java @@ -92,6 +92,7 @@ public class EntityStorage implements EntityPersistentStorage { @@ -63,7 +63,7 @@ index fda24d4ecff91cc28d2a7a45fbb55ea734261153..3cabafb00c293cbbcc60a0cc98479c2d super_tick(); diff --git a/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java b/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java -index 57b59a12f609fda0787d49575724762362ce12af..9a9b7f80859c70fbd1fa66b390ab005cde813d02 100644 +index b196bee2ea6e67897b367d2be1800f16a89a6167..d8a9f3296c46f12e156f1611811cb55470703b03 100644 --- a/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java +++ b/src/main/java/net/pl3x/purpur/entity/PhantomFlames.java @@ -38,6 +38,11 @@ public class PhantomFlames extends LlamaSpit { diff --git a/patches/server/0084-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0084-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index 11d4366ad..158e4b2e4 100644 --- a/patches/server/0084-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0084-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 73028657f5e579d38782bd4a8cecb351d4bcbdb9..da5669ca796dcac29005ae5e90e2b0532a56a92f 100644 +index b9f7812f19b194dc19b63cabd9369c5ed56dbe73..32b56e8b042e32daa44638688ea663556627b382 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2517,5 +2517,25 @@ public class ServerPlayer extends Player { +@@ -2519,5 +2519,25 @@ public class ServerPlayer extends Player { } // CraftBukkit end @@ -35,7 +35,7 @@ index 73028657f5e579d38782bd4a8cecb351d4bcbdb9..da5669ca796dcac29005ae5e90e2b053 + // Purpur end } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 9240dac662e60d130cdb8c3724c211c89875f6f0..795d454e46cfa39f80c5fc931f4931d8561b03b4 100644 +index 12e121aee1e5f2618e3553f38367055f7b96cfa8..49c05f3d877c11dc88b6831fdd78cf1aa2403df7 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -45,6 +45,7 @@ import net.minecraft.network.syncher.EntityDataAccessor; diff --git a/patches/server/0093-Dispensers-place-anvils-option.patch b/patches/server/0093-Dispensers-place-anvils-option.patch index 35ee51728..f40ba9e49 100644 --- a/patches/server/0093-Dispensers-place-anvils-option.patch +++ b/patches/server/0093-Dispensers-place-anvils-option.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Dispensers place anvils option diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index 92623ae25249d63efb92be8bd6c95228f9155ad2..20bf6d01046488eff53a109f5239351aedaafede 100644 +index 0d34026a70c72661a9ba6b319690370e589714cc..da1465096178370494c8ed17bd8495f036abe526 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -53,6 +53,7 @@ import net.minecraft.world.level.BlockGetter; @@ -16,7 +16,7 @@ index 92623ae25249d63efb92be8bd6c95228f9155ad2..20bf6d01046488eff53a109f5239351a import net.minecraft.world.level.block.BaseFireBlock; import net.minecraft.world.level.block.BeehiveBlock; import net.minecraft.world.level.block.Block; -@@ -1029,6 +1030,23 @@ public interface DispenseItemBehavior { +@@ -1028,6 +1029,23 @@ public interface DispenseItemBehavior { } } })); diff --git a/patches/server/0098-Stop-squids-floating-on-top-of-water.patch b/patches/server/0098-Stop-squids-floating-on-top-of-water.patch index cce0bcd54..a5b6ae2e4 100644 --- a/patches/server/0098-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0098-Stop-squids-floating-on-top-of-water.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 35de254dfb565b75286fc130573b8d788dce1982..d3541a447d7fcee70733ce9b18f4c5abdc4ba55a 100644 +index ed2401f46f1ba021c4236c23c655786afd8c36b0..6661ad7943a11e3e938e99c2da03b99346603898 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3829,11 +3829,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -3844,11 +3844,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n this.yRotO = this.getYRot(); } diff --git a/patches/server/0108-Persistent-TileEntity-Lore-and-DisplayName.patch b/patches/server/0108-Persistent-TileEntity-Lore-and-DisplayName.patch index ab0c597d7..89cda7ae9 100644 --- a/patches/server/0108-Persistent-TileEntity-Lore-and-DisplayName.patch +++ b/patches/server/0108-Persistent-TileEntity-Lore-and-DisplayName.patch @@ -37,7 +37,7 @@ index 8e6df16568c0dab482e10ad1b38920d77f6e684f..6c261b9ddee80139140bd1f091fcdacc @Nullable diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index d6a3f3a2edae806b0ebf5bf5ac445116c0d64535..0f295a496d4d94811199fa952ed68325ee1df0f6 100644 +index 1a5605b11170dfe1bd37165de886bad0f2e38ecd..94a69b7a1443231cf807fb792478c35334f73e62 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -20,6 +20,9 @@ import net.minecraft.core.IdMapper; @@ -121,7 +121,7 @@ index d6a3f3a2edae806b0ebf5bf5ac445116c0d64535..0f295a496d4d94811199fa952ed68325 + public static void popResource(Level world, BlockPos pos, ItemStack stack) { float f = EntityType.ITEM.getHeight() / 2.0F; - double d0 = (double) ((float) pos.getX() + 0.5F) + Mth.nextDouble(world.random, -0.25D, 0.25D); + // Paper start - don't convert potentially massive numbers to floats diff --git a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java index c3a07ccccd5cc38552363c82398f432c8d624288..132c9e6a643995d9fde535a78d9edc9ee97e3a76 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/BlockEntity.java diff --git a/patches/server/0125-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch b/patches/server/0125-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch index c52b3b07c..5fa551ed1 100644 --- a/patches/server/0125-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch +++ b/patches/server/0125-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch @@ -33,10 +33,10 @@ index 3e04510519ca5d03eb16aab8b1094e24101cebf4..12a3304c3b465f2a9d7cf279ea7b945b if (flag5) { if (i > 0) { diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 98e0c1e64d23552b8e8de5e17cee09fc0cb08d5c..5608ee1125c41d055e2827ab8a801e704ebb0441 100644 +index 89ad1c69456fb4aaf2ab8742c76343b30b74ecd0..c763fce31b074d396a9134c5412bce77a9625c9a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -@@ -967,7 +967,7 @@ public class CraftEventFactory { +@@ -968,7 +968,7 @@ public class CraftEventFactory { } else { damageCause = DamageCause.ENTITY_EXPLOSION; } @@ -45,7 +45,7 @@ index 98e0c1e64d23552b8e8de5e17cee09fc0cb08d5c..5608ee1125c41d055e2827ab8a801e70 damager.processClick(InteractionHand.MAIN_HAND); // Purpur } event.setCancelled(cancelled); -@@ -1050,7 +1050,7 @@ public class CraftEventFactory { +@@ -1049,7 +1049,7 @@ public class CraftEventFactory { } else { throw new IllegalStateException(String.format("Unhandled damage of %s by %s from %s", entity, damager.getHandle(), source.msgId)); } @@ -54,7 +54,7 @@ index 98e0c1e64d23552b8e8de5e17cee09fc0cb08d5c..5608ee1125c41d055e2827ab8a801e70 event.setCancelled(cancelled); CraftEventFactory.callEvent(event); if (!event.isCancelled()) { -@@ -1107,7 +1107,7 @@ public class CraftEventFactory { +@@ -1106,7 +1106,7 @@ public class CraftEventFactory { private static EntityDamageEvent callEntityDamageEvent(Entity damager, Entity damagee, DamageCause cause, Map modifiers, Map> modifierFunctions, boolean cancelled) { EntityDamageEvent event; if (damager != null) { diff --git a/patches/server/0130-Add-boat-fall-damage-config.patch b/patches/server/0130-Add-boat-fall-damage-config.patch index 0d3d0f0ca..c9befdfec 100644 --- a/patches/server/0130-Add-boat-fall-damage-config.patch +++ b/patches/server/0130-Add-boat-fall-damage-config.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add boat fall damage config diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index da5669ca796dcac29005ae5e90e2b0532a56a92f..46f8c78916b1a81b6429d557bb398217f6f5f752 100644 +index 32b56e8b042e32daa44638688ea663556627b382..8c93a84f9b44316fedc1544a309d27ef14e7d6d7 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -989,7 +989,16 @@ public class ServerPlayer extends Player { +@@ -991,7 +991,16 @@ public class ServerPlayer extends Player { if (this.isInvulnerableTo(source)) { return false; } else { diff --git a/patches/server/0136-Spread-out-and-optimise-player-list-ticksSpread-out-.patch b/patches/server/0136-Spread-out-and-optimise-player-list-ticksSpread-out-.patch index d61c2f20d..44a225e57 100644 --- a/patches/server/0136-Spread-out-and-optimise-player-list-ticksSpread-out-.patch +++ b/patches/server/0136-Spread-out-and-optimise-player-list-ticksSpread-out-.patch @@ -46,10 +46,10 @@ index c1d79527abc7c8a165872758db3d5240615a63aa..2381d75295554c0310e36a26f5332063 public void broadcastAll(Packet packet) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index de370ef508e72e16e43b872cbad032b414b6cf62..c298e104e01e7dd5c1e671822d8544e1e969d6c6 100644 +index ec4397cc98b66fef55a91854c42518479b839bbe..15f7092468fd341d4e5d22163ea0e265803e5139 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1564,7 +1564,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1569,7 +1569,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(Player player) { diff --git a/patches/server/0138-Configurable-default-collar-color.patch b/patches/server/0138-Configurable-default-wolf-collar-color.patch similarity index 50% rename from patches/server/0138-Configurable-default-collar-color.patch rename to patches/server/0138-Configurable-default-wolf-collar-color.patch index 1ea7a644f..11fe675d3 100644 --- a/patches/server/0138-Configurable-default-collar-color.patch +++ b/patches/server/0138-Configurable-default-wolf-collar-color.patch @@ -1,29 +1,11 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Encode42 Date: Thu, 10 Dec 2020 13:43:28 -0500 -Subject: [PATCH] Configurable default collar color +Subject: [PATCH] Configurable default wolf collar color -This allows for the server to set a default collar color when a wolf or cat is tamed. +This allows for the server to set a default collar color when a wolf is tamed. Resets to RED when the value is invalid. -diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index 052d1e51a891ee17bed0043f6f3fd162c15b16b2..47e5108ed92871111fbca76eb3d0c8419dbbb586 100644 ---- a/src/main/java/net/minecraft/world/entity/animal/Cat.java -+++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java -@@ -365,6 +365,13 @@ public class Cat extends TamableAnimal { - public float getRelaxStateOneAmount(float tickDelta) { - return Mth.lerp(tickDelta, this.relaxStateOneAmountO, this.relaxStateOneAmount); - } -+ // Purpur start -+ @Override -+ public void tame(Player player) { -+ setCollarColor(level.purpurConfig.catDefaultCollarColor); -+ super.tame(player); -+ } -+ // Purpur end - - @Override - public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) { diff --git a/src/main/java/net/minecraft/world/entity/animal/Wolf.java b/src/main/java/net/minecraft/world/entity/animal/Wolf.java index 3e7409ebf1f94b9cf55f2d0b0fe17ca8ec44659f..518dd0e6b4889c049e438b393baa795a5eac3e7d 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java @@ -42,30 +24,10 @@ index 3e7409ebf1f94b9cf55f2d0b0fe17ca8ec44659f..518dd0e6b4889c049e438b393baa795a @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 46338c0dcbe2edc03bb755950475bee95ff6602a..9849604741d2f110e9cded7436616560bdb6ab4b 100644 +index 46338c0dcbe2edc03bb755950475bee95ff6602a..d43e3d9ffdf24e00eeec589ab95edaa75d860338 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -594,6 +594,7 @@ public class PurpurWorldConfig { - - public boolean catRidable = false; - public boolean catRidableInWater = false; -+ public DyeColor catDefaultCollarColor = DyeColor.RED; - public double catMaxHealth = 10.0D; - public int catSpawnDelay = 1200; - public int catSpawnSwampHutScanRange = 16; -@@ -607,6 +608,11 @@ public class PurpurWorldConfig { - set("mobs.cat.attributes.max-health", null); - set("mobs.cat.attributes.max_health", oldValue); - } -+ try { -+ catDefaultCollarColor = DyeColor.valueOf(getString("mobs.cat.default-collar-color", wolfDefaultCollarColor.name())); -+ } catch (IllegalArgumentException ignore) { -+ catDefaultCollarColor = DyeColor.RED; -+ } - catMaxHealth = getDouble("mobs.cat.attributes.max_health", catMaxHealth); - catSpawnDelay = getInt("mobs.cat.spawn-delay", catSpawnDelay); - catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); -@@ -1768,6 +1774,7 @@ public class PurpurWorldConfig { +@@ -1768,6 +1768,7 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; public double wolfMaxHealth = 8.0D; @@ -73,7 +35,7 @@ index 46338c0dcbe2edc03bb755950475bee95ff6602a..9849604741d2f110e9cded7436616560 public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; -@@ -1780,6 +1787,11 @@ public class PurpurWorldConfig { +@@ -1780,6 +1781,11 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0139-Phantom-flames-on-swoop.patch b/patches/server/0139-Phantom-flames-on-swoop.patch index 91e65632f..297db27ba 100644 --- a/patches/server/0139-Phantom-flames-on-swoop.patch +++ b/patches/server/0139-Phantom-flames-on-swoop.patch @@ -17,10 +17,10 @@ index c55aba456aa144e58fc35877c61eff309eaa391f..c39e2d05fa81279a684532ee796880b1 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 9849604741d2f110e9cded7436616560bdb6ab4b..2928bf0fab8a8c1b0b3b04eeacb283eacb524488 100644 +index d43e3d9ffdf24e00eeec589ab95edaa75d860338..fde7aa8d1da2a5d9517c8ac23e3624506b3c5ee8 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1184,6 +1184,7 @@ public class PurpurWorldConfig { +@@ -1178,6 +1178,7 @@ public class PurpurWorldConfig { public float phantomFlameDamage = 1.0F; public int phantomFlameFireTime = 8; public boolean phantomAllowGriefing = false; @@ -28,7 +28,7 @@ index 9849604741d2f110e9cded7436616560bdb6ab4b..2928bf0fab8a8c1b0b3b04eeacb283ea public double phantomMaxHealth = 20.0D; public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; -@@ -1210,6 +1211,7 @@ public class PurpurWorldConfig { +@@ -1204,6 +1205,7 @@ public class PurpurWorldConfig { phantomFlameDamage = (float) getDouble("mobs.phantom.flames.damage", phantomFlameDamage); phantomFlameFireTime = getInt("mobs.phantom.flames.fire-time", phantomFlameFireTime); phantomAllowGriefing = getBoolean("mobs.phantom.allow-griefing", phantomAllowGriefing); diff --git a/patches/server/0141-Implement-TPSBar.patch b/patches/server/0141-Implement-TPSBar.patch index 62079bcf3..71ec90a37 100644 --- a/patches/server/0141-Implement-TPSBar.patch +++ b/patches/server/0141-Implement-TPSBar.patch @@ -42,7 +42,7 @@ index fc6a6e88486c5c2dca1b10bfeae24124690d7b8d..7b66b301b10158e9c715834b24bdfab1 } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 46f8c78916b1a81b6429d557bb398217f6f5f752..98584609ed1ba2bc4cc803482326fa1525a779bb 100644 +index 8c93a84f9b44316fedc1544a309d27ef14e7d6d7..b09cd5f750b6789ac21ed7d585d72ad393141a97 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -260,6 +260,7 @@ public class ServerPlayer extends Player { @@ -69,7 +69,7 @@ index 46f8c78916b1a81b6429d557bb398217f6f5f752..98584609ed1ba2bc4cc803482326fa15 } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2546,5 +2549,13 @@ public class ServerPlayer extends Player { +@@ -2548,5 +2551,13 @@ public class ServerPlayer extends Player { this.server.getPlayerList().moveToWorld(this, toLevel, true, to, !toLevel.paperConfig.disableTeleportationSuffocationCheck); } } diff --git a/patches/server/0142-Striders-give-saddle-back.patch b/patches/server/0142-Striders-give-saddle-back.patch index a0f55ca0b..839744fcc 100644 --- a/patches/server/0142-Striders-give-saddle-back.patch +++ b/patches/server/0142-Striders-give-saddle-back.patch @@ -28,10 +28,10 @@ index 9d314470361b2e17afdadc355c084254e5b03aff..66dab9b4e5ae05deeae11c8588a0b855 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index d770f6e021d0e3ac77eb0968569af1b08646611b..c6135662832ac5d65b866d540021a17fd83e835d 100644 +index 03d2d735b3e8839b467d93696d1a6f4481f57a41..083a450dcd285434c5c6d1ffb52f29d590d3609a 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1559,6 +1559,7 @@ public class PurpurWorldConfig { +@@ -1553,6 +1553,7 @@ public class PurpurWorldConfig { public boolean striderRidableInWater = false; public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; @@ -39,7 +39,7 @@ index d770f6e021d0e3ac77eb0968569af1b08646611b..c6135662832ac5d65b866d540021a17f private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1569,6 +1570,7 @@ public class PurpurWorldConfig { +@@ -1563,6 +1564,7 @@ public class PurpurWorldConfig { } striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); diff --git a/patches/server/0146-Add-MC-4-fix-back.patch b/patches/server/0146-Add-MC-4-fix-back.patch index 5c54ea054..e7076b5e1 100644 --- a/patches/server/0146-Add-MC-4-fix-back.patch +++ b/patches/server/0146-Add-MC-4-fix-back.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add MC-4 fix back diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index bd9293161dd28153d102718720b8f8a3c54536ad..8918fd02f4930eacb4fd842add92bc4e682642ae 100644 +index beae690820c5cb22b5bc9e4af0578f41084bde27..efc018b81347f95156c5a4c0eadb2127b51813bf 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4034,7 +4034,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -4049,7 +4049,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n // Paper end // Paper start - fix MC-4 if (this instanceof ItemEntity) { diff --git a/patches/server/0147-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0147-Add-mobGriefing-bypass-to-everything-affected.patch index 307135120..6df4cb1fe 100644 --- a/patches/server/0147-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0147-Add-mobGriefing-bypass-to-everything-affected.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add mobGriefing bypass to everything affected diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 91fd6709e66ee9c999ba7be3bec2689a5a01528c..a343738d971994c91ac42e41558ca05d6f9f8f57 100644 +index cd585f29639dc3d1e165a5e491b53d1971d47d1f..62d1d203b9a3c153449de5f8688ee037fbf5a8b7 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1682,7 +1682,7 @@ public abstract class LivingEntity extends Entity { @@ -18,7 +18,7 @@ index 91fd6709e66ee9c999ba7be3bec2689a5a01528c..a343738d971994c91ac42e41558ca05d BlockState iblockdata = Blocks.WITHER_ROSE.defaultBlockState(); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 5128ee7630096ae87e2ce703b099057e9f769ee6..5bf98ddae4d3b141c3db3892a50638f1a4988e92 100644 +index d4d9591de4677070e89a9a10e77b06ef28e5265e..94d0f9b7cc1470419e7c6438584a7914e3752717 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -661,7 +661,7 @@ public abstract class Mob extends LivingEntity { @@ -393,7 +393,7 @@ index e98fc3c235f9160f1928a8afb0d7991a6d3430cb..db35f756b7adb6b113659ae13b08ab89 return true; // Purpur end diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce6407d90122 100644 +index 126825703e1c5b835b2b1e9b950a7b6c56dacd0c..3b72d437226bbcd83340c2d9f24ddd34fc3b6b2d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -368,9 +368,12 @@ public class PurpurWorldConfig { @@ -458,7 +458,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 public double twistingVinesGrowthModifier = 0.10D; public int twistingVinesMaxGrowthAge = 25; private void twistingVinesSettings() { -@@ -705,6 +723,7 @@ public class PurpurWorldConfig { +@@ -699,6 +717,7 @@ public class PurpurWorldConfig { public double creeperMaxHealth = 20.0D; public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; @@ -466,7 +466,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -716,6 +735,7 @@ public class PurpurWorldConfig { +@@ -710,6 +729,7 @@ public class PurpurWorldConfig { creeperMaxHealth = getDouble("mobs.creeper.attributes.max_health", creeperMaxHealth); creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); @@ -474,7 +474,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 } public boolean dolphinRidable = false; -@@ -803,6 +823,7 @@ public class PurpurWorldConfig { +@@ -797,6 +817,7 @@ public class PurpurWorldConfig { public double enderDragonMaxY = 256D; public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; @@ -482,7 +482,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -818,6 +839,7 @@ public class PurpurWorldConfig { +@@ -812,6 +833,7 @@ public class PurpurWorldConfig { } enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); @@ -490,7 +490,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 } public boolean endermanRidable = false; -@@ -825,6 +847,7 @@ public class PurpurWorldConfig { +@@ -819,6 +841,7 @@ public class PurpurWorldConfig { public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; @@ -498,7 +498,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -836,6 +859,7 @@ public class PurpurWorldConfig { +@@ -830,6 +853,7 @@ public class PurpurWorldConfig { endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock); @@ -506,7 +506,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 } public boolean endermiteRidable = false; -@@ -855,6 +879,7 @@ public class PurpurWorldConfig { +@@ -849,6 +873,7 @@ public class PurpurWorldConfig { public boolean evokerRidable = false; public boolean evokerRidableInWater = false; public double evokerMaxHealth = 24.0D; @@ -514,7 +514,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -864,6 +889,7 @@ public class PurpurWorldConfig { +@@ -858,6 +883,7 @@ public class PurpurWorldConfig { set("mobs.evoker.attributes.max_health", oldValue); } evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); @@ -522,7 +522,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 } public boolean foxRidable = false; -@@ -871,6 +897,7 @@ public class PurpurWorldConfig { +@@ -865,6 +891,7 @@ public class PurpurWorldConfig { public double foxMaxHealth = 10.0D; public boolean foxTypeChangesWithTulips = false; public int foxBreedingTicks = 6000; @@ -530,7 +530,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -882,6 +909,7 @@ public class PurpurWorldConfig { +@@ -876,6 +903,7 @@ public class PurpurWorldConfig { foxMaxHealth = getDouble("mobs.fox.attributes.max_health", foxMaxHealth); foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); @@ -538,7 +538,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 } public boolean ghastRidable = false; -@@ -1277,6 +1305,7 @@ public class PurpurWorldConfig { +@@ -1271,6 +1299,7 @@ public class PurpurWorldConfig { public boolean piglinRidable = false; public boolean piglinRidableInWater = false; public double piglinMaxHealth = 16.0D; @@ -546,7 +546,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1286,6 +1315,7 @@ public class PurpurWorldConfig { +@@ -1280,6 +1309,7 @@ public class PurpurWorldConfig { set("mobs.piglin.attributes.max_health", oldValue); } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); @@ -554,7 +554,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 } public boolean piglinBruteRidable = false; -@@ -1305,6 +1335,7 @@ public class PurpurWorldConfig { +@@ -1299,6 +1329,7 @@ public class PurpurWorldConfig { public boolean pillagerRidable = false; public boolean pillagerRidableInWater = false; public double pillagerMaxHealth = 24.0D; @@ -562,7 +562,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1314,6 +1345,7 @@ public class PurpurWorldConfig { +@@ -1308,6 +1339,7 @@ public class PurpurWorldConfig { set("mobs.pillager.attributes.max_health", oldValue); } pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); @@ -570,7 +570,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 } public boolean polarBearRidable = false; -@@ -1355,6 +1387,7 @@ public class PurpurWorldConfig { +@@ -1349,6 +1381,7 @@ public class PurpurWorldConfig { public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; @@ -578,7 +578,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1367,11 +1400,13 @@ public class PurpurWorldConfig { +@@ -1361,11 +1394,13 @@ public class PurpurWorldConfig { rabbitNaturalToast = getDouble("mobs.rabbit.spawn-toast-chance", rabbitNaturalToast); rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); @@ -592,7 +592,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1381,6 +1416,7 @@ public class PurpurWorldConfig { +@@ -1375,6 +1410,7 @@ public class PurpurWorldConfig { set("mobs.ravager.attributes.max_health", oldValue); } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); @@ -600,7 +600,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 } public boolean salmonRidable = false; -@@ -1399,6 +1435,7 @@ public class PurpurWorldConfig { +@@ -1393,6 +1429,7 @@ public class PurpurWorldConfig { public boolean sheepRidableInWater = false; public double sheepMaxHealth = 8.0D; public int sheepBreedingTicks = 6000; @@ -608,7 +608,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1409,6 +1446,7 @@ public class PurpurWorldConfig { +@@ -1403,6 +1440,7 @@ public class PurpurWorldConfig { } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); @@ -616,7 +616,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 } public boolean shulkerRidable = false; -@@ -1428,6 +1466,7 @@ public class PurpurWorldConfig { +@@ -1422,6 +1460,7 @@ public class PurpurWorldConfig { public boolean silverfishRidable = false; public boolean silverfishRidableInWater = false; public double silverfishMaxHealth = 8.0D; @@ -624,7 +624,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1437,6 +1476,7 @@ public class PurpurWorldConfig { +@@ -1431,6 +1470,7 @@ public class PurpurWorldConfig { set("mobs.silverfish.attributes.max_health", oldValue); } silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); @@ -632,7 +632,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 } public boolean skeletonRidable = false; -@@ -1504,6 +1544,7 @@ public class PurpurWorldConfig { +@@ -1498,6 +1538,7 @@ public class PurpurWorldConfig { public int snowGolemSnowBallMax = 20; public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; @@ -640,7 +640,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1520,6 +1561,7 @@ public class PurpurWorldConfig { +@@ -1514,6 +1555,7 @@ public class PurpurWorldConfig { snowGolemSnowBallMax = getInt("mobs.snow_golem.max-shoot-interval-ticks", snowGolemSnowBallMax); snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier); snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); @@ -648,7 +648,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 } public boolean squidRidable = false; -@@ -1679,6 +1721,7 @@ public class PurpurWorldConfig { +@@ -1673,6 +1715,7 @@ public class PurpurWorldConfig { public int villagerLobotomizeCheck = 60; public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; @@ -656,7 +656,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1705,6 +1748,7 @@ public class PurpurWorldConfig { +@@ -1699,6 +1742,7 @@ public class PurpurWorldConfig { villagerLobotomizeCheck = getInt("mobs.villager.lobotomize.check-interval", villagerLobotomizeCheck); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); @@ -664,7 +664,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 } public boolean vindicatorRidable = false; -@@ -1761,6 +1805,7 @@ public class PurpurWorldConfig { +@@ -1755,6 +1799,7 @@ public class PurpurWorldConfig { public double witherMaxHealth = 300.0D; public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; @@ -672,7 +672,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1777,6 +1822,7 @@ public class PurpurWorldConfig { +@@ -1771,6 +1816,7 @@ public class PurpurWorldConfig { witherMaxHealth = getDouble("mobs.wither.attributes.max_health", witherMaxHealth); witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); @@ -680,7 +680,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 } public boolean witherSkeletonRidable = false; -@@ -1842,6 +1888,7 @@ public class PurpurWorldConfig { +@@ -1836,6 +1882,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public Difficulty zombieBreakDoorMinDifficulty = Difficulty.HARD; @@ -688,7 +688,7 @@ index e1d0c95da94274d6c9bfbf05490a94c0c39cbd19..56689e99f3f11cc91b9b01bf22bbce64 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1861,6 +1908,7 @@ public class PurpurWorldConfig { +@@ -1855,6 +1902,7 @@ public class PurpurWorldConfig { } catch (IllegalArgumentException ignore) { zombieBreakDoorMinDifficulty = Difficulty.HARD; } diff --git a/patches/server/0149-Add-EntityTeleportHinderedEvent.patch b/patches/server/0149-Add-EntityTeleportHinderedEvent.patch index dbb4f7d11..9810f376f 100644 --- a/patches/server/0149-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0149-Add-EntityTeleportHinderedEvent.patch @@ -113,10 +113,10 @@ index fb5cd6fe7903f3f96af1abb55832bafb7ca7f4a8..4175462de0d6306e4cd0871853ef4f0a } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c298e104e01e7dd5c1e671822d8544e1e969d6c6..6b268b7fd1fc81d0b43986e4ef4dc0bbe73aa4f7 100644 +index 15f7092468fd341d4e5d22163ea0e265803e5139..7474ead18b667290c6bbe1d692b09d58bccf6b39 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1003,6 +1003,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1008,6 +1008,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle()) { diff --git a/patches/server/0153-Fix-stuck-in-portals.patch b/patches/server/0153-Fix-stuck-in-portals.patch index 2ea371298..3bba89bd8 100644 --- a/patches/server/0153-Fix-stuck-in-portals.patch +++ b/patches/server/0153-Fix-stuck-in-portals.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix stuck in portals diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 98584609ed1ba2bc4cc803482326fa1525a779bb..60aeda60b99a21c4482c484c0a61494a06ae71ff 100644 +index b09cd5f750b6789ac21ed7d585d72ad393141a97..e081a02d6799d8d74db06ca84e224c395e95a308 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1142,6 +1142,7 @@ public class ServerPlayer extends Player { +@@ -1144,6 +1144,7 @@ public class ServerPlayer extends Player { playerlist.sendPlayerPermissionLevel(this); worldserver1.removePlayerImmediately(this, Entity.RemovalReason.CHANGED_DIMENSION); this.unsetRemoved(); @@ -17,7 +17,7 @@ index 98584609ed1ba2bc4cc803482326fa1525a779bb..60aeda60b99a21c4482c484c0a61494a // CraftBukkit end this.setLevel(worldserver); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a1d4bcbafbc80c653ef622828e67145e72fc2ad0..565af7ade5c3de6a1c7a01755db1b7c6c16f0a3c 100644 +index 67e42c3e4c23ac909458d4d6ba7be8ad241ee578..8aff04c7efd268c88c5321c4a5b77c9f1e3a2831 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2698,12 +2698,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n diff --git a/patches/server/0154-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0154-Toggle-for-water-sensitive-mob-damage.patch index ca2ed1a28..7fb108ea1 100644 --- a/patches/server/0154-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0154-Toggle-for-water-sensitive-mob-damage.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Toggle for water sensitive mob damage diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 5bf98ddae4d3b141c3db3892a50638f1a4988e92..9eda9a48fb509f0484576a487a9d0f9cd42574e8 100644 +index 94d0f9b7cc1470419e7c6438584a7914e3752717..2587c6e95942e62a6ed9eb699c557a219e2c747f 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -865,7 +865,7 @@ public abstract class Mob extends LivingEntity { @@ -70,7 +70,7 @@ index 66dab9b4e5ae05deeae11c8588a0b855d8847bdc..19753a1855b11f8cdc9fb77e8d9079bb @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 2bc1ae856fde1965bbab69d541f3544d5e23b095..eb50da9c77637e14b3cab7e18c591f70f679e8e3 100644 +index b578c89ed02b093e329ba93775a3552e5a568883..8e3d7bb364f9581dd27145672c87c3933b09b8af 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -634,6 +634,7 @@ public class PurpurWorldConfig { @@ -89,7 +89,7 @@ index 2bc1ae856fde1965bbab69d541f3544d5e23b095..eb50da9c77637e14b3cab7e18c591f70 } public boolean catRidable = false; -@@ -866,6 +868,7 @@ public class PurpurWorldConfig { +@@ -860,6 +862,7 @@ public class PurpurWorldConfig { public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; @@ -97,7 +97,7 @@ index 2bc1ae856fde1965bbab69d541f3544d5e23b095..eb50da9c77637e14b3cab7e18c591f70 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -878,6 +881,7 @@ public class PurpurWorldConfig { +@@ -872,6 +875,7 @@ public class PurpurWorldConfig { endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); endermanDespawnEvenWithBlock = getBoolean("mobs.enderman.can-despawn-with-held-block", endermanDespawnEvenWithBlock); endermanBypassMobGriefing = getBoolean("mobs.enderman.bypass-mob-griefing", endermanBypassMobGriefing); @@ -105,7 +105,7 @@ index 2bc1ae856fde1965bbab69d541f3544d5e23b095..eb50da9c77637e14b3cab7e18c591f70 } public boolean endermiteRidable = false; -@@ -1563,6 +1567,7 @@ public class PurpurWorldConfig { +@@ -1557,6 +1561,7 @@ public class PurpurWorldConfig { public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; @@ -113,7 +113,7 @@ index 2bc1ae856fde1965bbab69d541f3544d5e23b095..eb50da9c77637e14b3cab7e18c591f70 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1580,6 +1585,7 @@ public class PurpurWorldConfig { +@@ -1574,6 +1579,7 @@ public class PurpurWorldConfig { snowGolemSnowBallModifier = (float) getDouble("mobs.snow_golem.snow-ball-modifier", snowGolemSnowBallModifier); snowGolemAttackDistance = getDouble("mobs.snow_golem.attack-distance", snowGolemAttackDistance); snowGolemBypassMobGriefing = getBoolean("mobs.snow_golem.bypass-mob-griefing", snowGolemBypassMobGriefing); @@ -121,7 +121,7 @@ index 2bc1ae856fde1965bbab69d541f3544d5e23b095..eb50da9c77637e14b3cab7e18c591f70 } public boolean squidRidable = false; -@@ -1633,6 +1639,7 @@ public class PurpurWorldConfig { +@@ -1627,6 +1633,7 @@ public class PurpurWorldConfig { public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; @@ -129,7 +129,7 @@ index 2bc1ae856fde1965bbab69d541f3544d5e23b095..eb50da9c77637e14b3cab7e18c591f70 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1644,6 +1651,7 @@ public class PurpurWorldConfig { +@@ -1638,6 +1645,7 @@ public class PurpurWorldConfig { striderMaxHealth = getDouble("mobs.strider.attributes.max_health", striderMaxHealth); striderBreedingTicks = getInt("mobs.strider.breeding-delay-ticks", striderBreedingTicks); striderGiveSaddleBack = getBoolean("mobs.strider.give-saddle-back", striderGiveSaddleBack); diff --git a/patches/server/0155-Config-to-always-tame-in-Creative.patch b/patches/server/0155-Config-to-always-tame-in-Creative.patch index 8f2044719..67429fbce 100644 --- a/patches/server/0155-Config-to-always-tame-in-Creative.patch +++ b/patches/server/0155-Config-to-always-tame-in-Creative.patch @@ -20,10 +20,10 @@ index fd0f5c255729b2c05ead5843ab58fe880971b3db..08bdebf99cdedfc6115405e5198346ee return; } diff --git a/src/main/java/net/minecraft/world/entity/animal/Cat.java b/src/main/java/net/minecraft/world/entity/animal/Cat.java -index 47e5108ed92871111fbca76eb3d0c8419dbbb586..49e319ac0cb6ea71ca6c742c539f2742ef9e3ced 100644 +index 052d1e51a891ee17bed0043f6f3fd162c15b16b2..0d521af1a44acc0fd62f209b845b6d128e42baf4 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java -@@ -473,7 +473,7 @@ public class Cat extends TamableAnimal { +@@ -466,7 +466,7 @@ public class Cat extends TamableAnimal { } } else if (this.isFood(itemstack)) { this.usePlayerItem(player, hand, itemstack); @@ -59,7 +59,7 @@ index 518dd0e6b4889c049e438b393baa795a5eac3e7d..21e154c4e7fe261a41c891b481072fbd this.navigation.stop(); this.setTarget((LivingEntity) null); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index eb50da9c77637e14b3cab7e18c591f70f679e8e3..51d617ae1055048d068c927ae00f7885c8b53504 100644 +index 8e3d7bb364f9581dd27145672c87c3933b09b8af..b87830f9454388eb71efcd9382912e031446c0fc 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java @@ -372,6 +372,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0157-Add-unsafe-Entity-serialization-API.patch b/patches/server/0157-Add-unsafe-Entity-serialization-API.patch index ee47d2dba..55014ee90 100644 --- a/patches/server/0157-Add-unsafe-Entity-serialization-API.patch +++ b/patches/server/0157-Add-unsafe-Entity-serialization-API.patch @@ -34,10 +34,10 @@ index 4175462de0d6306e4cd0871853ef4f0a06895359..2fb5c5ea01d5f1071c8e8a39e7863ed0 // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -index 7a8db8d481e9487ea83a640af208242f4987ad28..f12eec135f8134409f1abe5c97ffee59913a4d9e 100644 +index 72cfffd80ad76abe7cb16bc9133730338c07b6f6..09b99e3465ae142081f01c483116c1d1adb34842 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java +++ b/src/main/java/org/bukkit/craftbukkit/util/CraftMagicNumbers.java -@@ -408,9 +408,14 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -407,9 +407,14 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkNotNull(item, "null cannot be serialized"); Preconditions.checkArgument(item.getType() != Material.AIR, "air cannot be serialized"); @@ -54,7 +54,7 @@ index 7a8db8d481e9487ea83a640af208242f4987ad28..f12eec135f8134409f1abe5c97ffee59 try { net.minecraft.nbt.NbtIo.writeCompressed( compound, -@@ -428,21 +433,52 @@ public final class CraftMagicNumbers implements UnsafeValues { +@@ -427,21 +432,52 @@ public final class CraftMagicNumbers implements UnsafeValues { Preconditions.checkNotNull(data, "null cannot be deserialized"); Preconditions.checkArgument(data.length > 0, "cannot deserialize nothing"); diff --git a/patches/server/0158-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0158-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index 5ba891a4e..0b4bf6ee8 100644 --- a/patches/server/0158-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0158-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -29,10 +29,10 @@ index bdcbe92cbe431727f5879a04bf734811ffd03c3d..257a1b91c65d9f66173cfe8a31f598a0 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index b55e0bca09241dfe8c5d915a3bcac39a7c01c2e6..20bdebf6ace1c983a2a237328e8d46350a80b0c4 100644 +index 6608389d1715b7ce22689128b726195b503cc82c..ee84e6aef5c0e747c71c2b345eebfb99da406b8d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -875,6 +875,7 @@ public class PurpurWorldConfig { +@@ -869,6 +869,7 @@ public class PurpurWorldConfig { public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonBypassMobGriefing = false; @@ -40,7 +40,7 @@ index b55e0bca09241dfe8c5d915a3bcac39a7c01c2e6..20bdebf6ace1c983a2a237328e8d4635 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -891,6 +892,7 @@ public class PurpurWorldConfig { +@@ -885,6 +886,7 @@ public class PurpurWorldConfig { enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing); @@ -48,7 +48,7 @@ index b55e0bca09241dfe8c5d915a3bcac39a7c01c2e6..20bdebf6ace1c983a2a237328e8d4635 } public boolean endermanRidable = false; -@@ -1863,6 +1865,7 @@ public class PurpurWorldConfig { +@@ -1857,6 +1859,7 @@ public class PurpurWorldConfig { public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; @@ -56,7 +56,7 @@ index b55e0bca09241dfe8c5d915a3bcac39a7c01c2e6..20bdebf6ace1c983a2a237328e8d4635 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1880,6 +1883,7 @@ public class PurpurWorldConfig { +@@ -1874,6 +1877,7 @@ public class PurpurWorldConfig { witherHealthRegenAmount = (float) getDouble("mobs.wither.health-regen-amount", witherHealthRegenAmount); witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); diff --git a/patches/server/0163-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0163-Config-to-ignore-nearby-mobs-when-sleeping.patch index bb71695dd..58139902b 100644 --- a/patches/server/0163-Config-to-ignore-nearby-mobs-when-sleeping.patch +++ b/patches/server/0163-Config-to-ignore-nearby-mobs-when-sleeping.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Config to ignore nearby mobs when sleeping diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 60aeda60b99a21c4482c484c0a61494a06ae71ff..90f91e5438e1fbd27da59fec004969c572517d8e 100644 +index e081a02d6799d8d74db06ca84e224c395e95a308..26fcead85fe017a27d41697cbf7b6d1da16c8879 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1305,7 +1305,7 @@ public class ServerPlayer extends Player { +@@ -1307,7 +1307,7 @@ public class ServerPlayer extends Player { return entitymonster.isPreventingPlayerRest((Player) this); }); diff --git a/patches/server/0165-Config-Enderman-aggressiveness-towards-Endermites.patch b/patches/server/0165-Config-Enderman-aggressiveness-towards-Endermites.patch index e2d0b9fe2..b4f86f112 100644 --- a/patches/server/0165-Config-Enderman-aggressiveness-towards-Endermites.patch +++ b/patches/server/0165-Config-Enderman-aggressiveness-towards-Endermites.patch @@ -18,10 +18,10 @@ index 3907b7cb559dabdd3cc347678d42071215c66a6c..e8779b23b5e1a399dde19fc66d820101 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 25146133bb6dd7b37bdcf9928e021ae4e27cfb02..be9ed488c41ea7b9bdf7c015e0ee482d5824be81 100644 +index 39496742ed05737029e67592755cd74331e1cb95..264d6902931377c55fcbdeb32460648802f56133 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -923,6 +923,8 @@ public class PurpurWorldConfig { +@@ -917,6 +917,8 @@ public class PurpurWorldConfig { public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; public boolean endermanTakeDamageFromWater = true; @@ -30,7 +30,7 @@ index 25146133bb6dd7b37bdcf9928e021ae4e27cfb02..be9ed488c41ea7b9bdf7c015e0ee482d private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -931,11 +933,17 @@ public class PurpurWorldConfig { +@@ -925,11 +927,17 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max-health", null); set("mobs.enderman.attributes.max_health", oldValue); } diff --git a/patches/server/0166-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch b/patches/server/0166-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch index 997b5feb4..6d4ad979d 100644 --- a/patches/server/0166-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch +++ b/patches/server/0166-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch @@ -20,10 +20,10 @@ index e8779b23b5e1a399dde19fc66d820101d61f36bc..ba61f78874d8578b862f317fe00a3162 } else { Vec3 vec3d = player.getViewVector(1.0F).normalize(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index be9ed488c41ea7b9bdf7c015e0ee482d5824be81..a51ae6ad7bf6f3c131f2e8ba8701880cf5a3240b 100644 +index 264d6902931377c55fcbdeb32460648802f56133..0f7a3541425a825007cb3deaafaaf386cf4b76ba 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -925,6 +925,8 @@ public class PurpurWorldConfig { +@@ -919,6 +919,8 @@ public class PurpurWorldConfig { public boolean endermanTakeDamageFromWater = true; public boolean endermanAggroEndermites = true; public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; @@ -32,7 +32,7 @@ index be9ed488c41ea7b9bdf7c015e0ee482d5824be81..a51ae6ad7bf6f3c131f2e8ba8701880c private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -944,6 +946,8 @@ public class PurpurWorldConfig { +@@ -938,6 +940,8 @@ public class PurpurWorldConfig { endermanTakeDamageFromWater = getBoolean("mobs.enderman.takes-damage-from-water", endermanTakeDamageFromWater); endermanAggroEndermites = getBoolean("mobs.enderman.aggressive-towards-endermites", endermanAggroEndermites); endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned); diff --git a/patches/server/0168-Config-to-disable-Llama-caravans.patch b/patches/server/0168-Config-to-disable-Llama-caravans.patch index 93881f5b7..eca738421 100644 --- a/patches/server/0168-Config-to-disable-Llama-caravans.patch +++ b/patches/server/0168-Config-to-disable-Llama-caravans.patch @@ -32,10 +32,10 @@ index 93a05b945ac248df0ea7a0b9d7264a9c129c3bcf..8f12851f220bb23102f52f523a4c5d98 this.caravanHead.caravanTail = this; } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 7fe1c0a068f994d294101a81c88d5695383784e5..5bd82ba53709c558163c4763dae867babed18a0e 100644 +index e2a6db623c662b6604c204570b2c0bc927989c3d..1b3b2a94cd33661c913706a297e6660cf7c93086 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1191,6 +1191,7 @@ public class PurpurWorldConfig { +@@ -1185,6 +1185,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; @@ -43,7 +43,7 @@ index 7fe1c0a068f994d294101a81c88d5695383784e5..5bd82ba53709c558163c4763dae867ba private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1208,6 +1209,7 @@ public class PurpurWorldConfig { +@@ -1202,6 +1203,7 @@ public class PurpurWorldConfig { llamaMovementSpeedMin = getDouble("mobs.llama.attributes.movement_speed.min", llamaMovementSpeedMin); llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); diff --git a/patches/server/0169-Config-to-make-Creepers-explode-on-death.patch b/patches/server/0169-Config-to-make-Creepers-explode-on-death.patch index 6383ed87c..92b0dc851 100644 --- a/patches/server/0169-Config-to-make-Creepers-explode-on-death.patch +++ b/patches/server/0169-Config-to-make-Creepers-explode-on-death.patch @@ -50,10 +50,10 @@ index c550b8c19837ed9bf730a3eb777bc00de4e7ceb2..02494dcc8a342f65b2855612aebeb019 private void spawnLingeringCloud() { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 5bd82ba53709c558163c4763dae867babed18a0e..62695e21e85c34c135b0559b1fd1983d08f8aa21 100644 +index 1b3b2a94cd33661c913706a297e6660cf7c93086..580f2a28adc946643951d16403ff53ebccbe7982 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -798,6 +798,7 @@ public class PurpurWorldConfig { +@@ -792,6 +792,7 @@ public class PurpurWorldConfig { public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; @@ -61,7 +61,7 @@ index 5bd82ba53709c558163c4763dae867babed18a0e..62695e21e85c34c135b0559b1fd1983d private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -810,6 +811,7 @@ public class PurpurWorldConfig { +@@ -804,6 +805,7 @@ public class PurpurWorldConfig { creeperChargedChance = getDouble("mobs.creeper.naturally-charged-chance", creeperChargedChance); creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); diff --git a/patches/server/0170-Configurable-ravager-griefable-blocks-list.patch b/patches/server/0170-Configurable-ravager-griefable-blocks-list.patch index cf4fd8f53..050c11ce8 100644 --- a/patches/server/0170-Configurable-ravager-griefable-blocks-list.patch +++ b/patches/server/0170-Configurable-ravager-griefable-blocks-list.patch @@ -31,10 +31,10 @@ index 3c51e6d419a244b9270119590aa299527163c331..b466b0430dd94777975a1e7ab9792166 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 62695e21e85c34c135b0559b1fd1983d08f8aa21..81962cbe701d76d1c10a1e1249ebd4ff72621ca1 100644 +index 580f2a28adc946643951d16403ff53ebccbe7982..e5f648e5b7041218f03d3fff0d755c29563c0e8d 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1501,6 +1501,7 @@ public class PurpurWorldConfig { +@@ -1495,6 +1495,7 @@ public class PurpurWorldConfig { public boolean ravagerRidableInWater = false; public double ravagerMaxHealth = 100.0D; public boolean ravagerBypassMobGriefing = false; @@ -42,7 +42,7 @@ index 62695e21e85c34c135b0559b1fd1983d08f8aa21..81962cbe701d76d1c10a1e1249ebd4ff private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1511,6 +1512,23 @@ public class PurpurWorldConfig { +@@ -1505,6 +1506,23 @@ public class PurpurWorldConfig { } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); diff --git a/patches/server/0173-Add-config-for-villager-trading.patch b/patches/server/0173-Add-config-for-villager-trading.patch index 4b7f7b0ba..2e6ca793a 100644 --- a/patches/server/0173-Add-config-for-villager-trading.patch +++ b/patches/server/0173-Add-config-for-villager-trading.patch @@ -31,10 +31,10 @@ index c48935d35a6141c41db22e3ec172d5994fd317a2..fa4644c11cbb252734a6f5dc21c861d2 this.openTradingScreen(player, this.getDisplayName(), 1); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 279b6e17a03de069202ef191f02dc31840b802cb..4b88e620ec5667cbaa388fe7259533bdbb52e621 100644 +index 30e1679f4d342634fdfd8c64520d9c87eeee1462..d734218c0b7277348b0ea4002259f19e59bc31f0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1845,6 +1845,7 @@ public class PurpurWorldConfig { +@@ -1839,6 +1839,7 @@ public class PurpurWorldConfig { public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; @@ -42,7 +42,7 @@ index 279b6e17a03de069202ef191f02dc31840b802cb..4b88e620ec5667cbaa388fe7259533bd private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1872,6 +1873,7 @@ public class PurpurWorldConfig { +@@ -1866,6 +1867,7 @@ public class PurpurWorldConfig { villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); @@ -50,7 +50,7 @@ index 279b6e17a03de069202ef191f02dc31840b802cb..4b88e620ec5667cbaa388fe7259533bd } public boolean vindicatorRidable = false; -@@ -1895,6 +1897,7 @@ public class PurpurWorldConfig { +@@ -1889,6 +1891,7 @@ public class PurpurWorldConfig { public double wanderingTraderMaxHealth = 20.0D; public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; @@ -58,7 +58,7 @@ index 279b6e17a03de069202ef191f02dc31840b802cb..4b88e620ec5667cbaa388fe7259533bd private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1906,6 +1909,7 @@ public class PurpurWorldConfig { +@@ -1900,6 +1903,7 @@ public class PurpurWorldConfig { wanderingTraderMaxHealth = getDouble("mobs.wandering_trader.attributes.max_health", wanderingTraderMaxHealth); wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); diff --git a/patches/server/0180-Config-to-allow-for-unsafe-enchants.patch b/patches/server/0180-Config-to-allow-for-unsafe-enchants.patch index b95473129..d6c939f85 100644 --- a/patches/server/0180-Config-to-allow-for-unsafe-enchants.patch +++ b/patches/server/0180-Config-to-allow-for-unsafe-enchants.patch @@ -57,21 +57,6 @@ index 410ac71efff92dfa1f1e11895d0f5bf3fca1be17..f380659b261253e327f018ce9b54b151 ((ServerPlayer) player).connection.send(new ClientboundContainerSetSlotPacket(containerId, incrementStateId(), 2, itemstack1)); ((ServerPlayer) player).connection.send(new ClientboundContainerSetDataPacket(containerId, 0, cost.get())); } -diff --git a/src/main/java/net/minecraft/world/item/CrossbowItem.java b/src/main/java/net/minecraft/world/item/CrossbowItem.java -index 264542304babba94e364811da8d7b51b812a2b47..e822e2d30e072eb028373909f582fa42b79aa088 100644 ---- a/src/main/java/net/minecraft/world/item/CrossbowItem.java -+++ b/src/main/java/net/minecraft/world/item/CrossbowItem.java -@@ -293,6 +293,10 @@ public class CrossbowItem extends ProjectileWeaponItem implements Vanishable { - entityarrow.setPierceLevel((byte) i); - } - -+ if (net.pl3x.purpur.PurpurConfig.allowUnsafeEnchants && EnchantmentHelper.getItemEnchantmentLevel(Enchantments.FLAMING_ARROWS, crossbow) > 0) { -+ entityarrow.setSecondsOnFire(100); -+ } -+ - return entityarrow; - } - diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java index d1b4fe830170ddee2b6f39eba29e7068e6ae37a3..115f8eb919e90bc4a79db1d0f7875a31cc962f07 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java diff --git a/patches/server/0184-Piglin-portal-spawn-modifier.patch b/patches/server/0184-Piglin-portal-spawn-modifier.patch index 565cadb8f..171e2edb4 100644 --- a/patches/server/0184-Piglin-portal-spawn-modifier.patch +++ b/patches/server/0184-Piglin-portal-spawn-modifier.patch @@ -31,10 +31,10 @@ index fef1027829c44957e23c0a121033bfb7640d06f0..c42349d0f6b0025525278295b36f4030 pos = pos.below(); } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 26e521bc294b439180c3409b638def21eeb05d7f..b3fc476e2b12271c5377785bbd644a6d62810adb 100644 +index c2e0c46a626ae143b26e2a77d1077a10c657e61b..9e18b2e38b0c36eae8b7e24aedf3c4e6786a7ff0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1466,6 +1466,7 @@ public class PurpurWorldConfig { +@@ -1460,6 +1460,7 @@ public class PurpurWorldConfig { public boolean piglinRidableInWater = false; public double piglinMaxHealth = 16.0D; public boolean piglinBypassMobGriefing = false; @@ -42,7 +42,7 @@ index 26e521bc294b439180c3409b638def21eeb05d7f..b3fc476e2b12271c5377785bbd644a6d private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1476,6 +1477,7 @@ public class PurpurWorldConfig { +@@ -1470,6 +1471,7 @@ public class PurpurWorldConfig { } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); diff --git a/patches/server/0187-Config-for-wither-explosion-radius.patch b/patches/server/0187-Config-for-wither-explosion-radius.patch index 4836c07ad..959158cfd 100644 --- a/patches/server/0187-Config-for-wither-explosion-radius.patch +++ b/patches/server/0187-Config-for-wither-explosion-radius.patch @@ -18,10 +18,10 @@ index 430aa10101d9f21561155941ff24441fd0c4103a..de91f0dd7f9a62e5a96b4cc3e4f505ec if (!event.isCancelled()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a3c2f63a600b621cc89df8812694ae5734d8e7f6..14147e47de493066787e32636e5b729c83b9fa5a 100644 +index f21b019e7074b637d2a4f8cc47749023751d2221..fdb30742017253789472896247c07f5ce530d10c 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2002,6 +2002,7 @@ public class PurpurWorldConfig { +@@ -1996,6 +1996,7 @@ public class PurpurWorldConfig { public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; public boolean witherCanRideVehicles = false; @@ -29,7 +29,7 @@ index a3c2f63a600b621cc89df8812694ae5734d8e7f6..14147e47de493066787e32636e5b729c private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2020,6 +2021,7 @@ public class PurpurWorldConfig { +@@ -2014,6 +2015,7 @@ public class PurpurWorldConfig { witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); diff --git a/patches/server/0191-Configurable-broadcast-settings.patch b/patches/server/0191-Configurable-broadcast-settings.patch index 32c193b92..acc025bb8 100644 --- a/patches/server/0191-Configurable-broadcast-settings.patch +++ b/patches/server/0191-Configurable-broadcast-settings.patch @@ -17,10 +17,10 @@ index c46df052a5a39d92688f51377ee1f7b5b5b36faa..d7d2a975386cecb0d50b4f7ed37de8ad // Paper end } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 90f91e5438e1fbd27da59fec004969c572517d8e..b2bf0ce295520e7dc6f17fd904769e47164675eb 100644 +index 26fcead85fe017a27d41697cbf7b6d1da16c8879..ba690d310ee6b9d3a1b1bf2ae13e016daabeb0fc 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -880,6 +880,7 @@ public class ServerPlayer extends Player { +@@ -882,6 +882,7 @@ public class ServerPlayer extends Player { }); Team scoreboardteambase = this.getTeam(); diff --git a/patches/server/0195-Config-for-health-to-impact-Creeper-explosion-radius.patch b/patches/server/0195-Config-for-health-to-impact-Creeper-explosion-radius.patch index 60f164bbb..0ff37f789 100644 --- a/patches/server/0195-Config-for-health-to-impact-Creeper-explosion-radius.patch +++ b/patches/server/0195-Config-for-health-to-impact-Creeper-explosion-radius.patch @@ -21,10 +21,10 @@ index 02494dcc8a342f65b2855612aebeb019095abf65..d66c8866f3c6b1412a6c1876c62e3b29 if (!event.isCancelled()) { this.dead = true; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index c43e0e791de0a932e9e5637f419d480331864823..071c110bfbb8264b1197c2f27d1a3c73f28724a8 100644 +index 6cf13cafb904bb273736cc53c69ed9fdc33d23c4..1c2d7b985a9ad7512ce584b69fac518da9ef2f54 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -894,6 +894,7 @@ public class PurpurWorldConfig { +@@ -888,6 +888,7 @@ public class PurpurWorldConfig { public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; public boolean creeperExplodeWhenKilled = false; @@ -32,7 +32,7 @@ index c43e0e791de0a932e9e5637f419d480331864823..071c110bfbb8264b1197c2f27d1a3c73 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -907,6 +908,7 @@ public class PurpurWorldConfig { +@@ -901,6 +902,7 @@ public class PurpurWorldConfig { creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); diff --git a/patches/server/0196-Iron-golem-poppy-calms-anger.patch b/patches/server/0196-Iron-golem-poppy-calms-anger.patch index 134280001..4f5a45ca4 100644 --- a/patches/server/0196-Iron-golem-poppy-calms-anger.patch +++ b/patches/server/0196-Iron-golem-poppy-calms-anger.patch @@ -17,10 +17,10 @@ index f4e983da7206923ee0b0f984e65a6c2b3a6a8aeb..cea3725009af1bc746a593c4db63ed63 this.goalSelector.addGoal(2, new MoveTowardsTargetGoal(this, 0.9D, 32.0F)); this.goalSelector.addGoal(2, new MoveBackToVillageGoal(this, 0.6D, false)); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 071c110bfbb8264b1197c2f27d1a3c73f28724a8..1efced39b92e845a8c416ead0683f5870c0937ac 100644 +index 1c2d7b985a9ad7512ce584b69fac518da9ef2f54..e0e493653c95d6fdf7843efd3f3a7bec4d7729fc 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1269,6 +1269,7 @@ public class PurpurWorldConfig { +@@ -1263,6 +1263,7 @@ public class PurpurWorldConfig { public boolean ironGolemRidableInWater = false; public boolean ironGolemCanSwim = false; public double ironGolemMaxHealth = 100.0D; @@ -28,7 +28,7 @@ index 071c110bfbb8264b1197c2f27d1a3c73f28724a8..1efced39b92e845a8c416ead0683f587 private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1279,6 +1280,7 @@ public class PurpurWorldConfig { +@@ -1273,6 +1274,7 @@ public class PurpurWorldConfig { set("mobs.iron_golem.attributes.max_health", oldValue); } ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); diff --git a/patches/server/0197-Breedable-parrots.patch b/patches/server/0197-Breedable-parrots.patch index e7a41c9e5..02ce5720d 100644 --- a/patches/server/0197-Breedable-parrots.patch +++ b/patches/server/0197-Breedable-parrots.patch @@ -50,10 +50,10 @@ index 553b0aff0ccc5baf41d5faae1a2fd88249dd5a74..3da2b68fb03a80676d7a5eed271499f6 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 1efced39b92e845a8c416ead0683f5870c0937ac..8e4340b9453b638bebb3aeb9f9e9eaf5b9176de6 100644 +index e0e493653c95d6fdf7843efd3f3a7bec4d7729fc..b54dba107a355fe8f4e12f0763fb0b6590788c05 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1405,6 +1405,7 @@ public class PurpurWorldConfig { +@@ -1399,6 +1399,7 @@ public class PurpurWorldConfig { public boolean parrotRidableInWater = false; public double parrotMaxY = 256D; public double parrotMaxHealth = 6.0D; @@ -61,7 +61,7 @@ index 1efced39b92e845a8c416ead0683f5870c0937ac..8e4340b9453b638bebb3aeb9f9e9eaf5 private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1415,6 +1416,7 @@ public class PurpurWorldConfig { +@@ -1409,6 +1410,7 @@ public class PurpurWorldConfig { set("mobs.parrot.attributes.max_health", oldValue); } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); diff --git a/patches/server/0205-API-for-any-mob-to-burn-daylight.patch b/patches/server/0205-API-for-any-mob-to-burn-daylight.patch index 9bb840ca2..f9f9066a6 100644 --- a/patches/server/0205-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0205-API-for-any-mob-to-burn-daylight.patch @@ -6,10 +6,10 @@ Subject: [PATCH] API for any mob to burn daylight Co-authored by: Encode42 diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5572fe00a915fc31afe3bc7dcf45e894d7cb69b5..c0f97b07f7c0c98699f90f6c2cc6bd67c1fe59ee 100644 +index 279ae74bad5215a3aa9979a6447c8a872d06b6b4..8aeb81b4ddff686ad90eb784d827494e8bf2e4d9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4277,5 +4277,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -4292,5 +4292,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n public boolean canSaveToDisk() { return true; } @@ -29,7 +29,7 @@ index 5572fe00a915fc31afe3bc7dcf45e894d7cb69b5..c0f97b07f7c0c98699f90f6c2cc6bd67 // Purpur end } diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 246d6bdb7c431f9aca2e337dd2d4dfa5f8baf486..5bb0a3c4d25c5b06e6547a1789b6b27972fbda59 100644 +index 730ed778534b47eec77a32772ce9efb556332505..fa2a5d0036fbbab16e1a9237320e1a76dd8e734b 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 { @@ -89,7 +89,7 @@ index 246d6bdb7c431f9aca2e337dd2d4dfa5f8baf486..5bb0a3c4d25c5b06e6547a1789b6b279 public boolean isSensitiveToWater() { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 9eda9a48fb509f0484576a487a9d0f9cd42574e8..870fb7680e39e1ad69532634a25bb1be664c111c 100644 +index 2587c6e95942e62a6ed9eb699c557a219e2c747f..4de4a9157cd4ecc74ae26e27ea06e5aaa4c37129 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -1641,17 +1641,7 @@ public abstract class Mob extends LivingEntity { diff --git a/patches/server/0211-Flying-Fall-Damage-API.patch b/patches/server/0211-Flying-Fall-Damage-API.patch index 890ab54a1..dfb95201d 100644 --- a/patches/server/0211-Flying-Fall-Damage-API.patch +++ b/patches/server/0211-Flying-Fall-Damage-API.patch @@ -26,10 +26,10 @@ index 24523dd712329f2f3abe40bb3f1801ef7946e831..ebd744b08e27d6fc6dda31ada7ad8bb1 } else { if (fallDistance >= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 6b268b7fd1fc81d0b43986e4ef4dc0bbe73aa4f7..41b7f84c74f12d35da163cc688f624569500f50b 100644 +index 7474ead18b667290c6bbe1d692b09d58bccf6b39..98751b195e5bea9ef89e1432fba54d6823036818 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2590,5 +2590,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2595,5 +2595,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) { getHandle().spawnInvulnerableTime = spawnInvulnerableTime; } diff --git a/patches/server/0215-Populator-seed-controls.patch b/patches/server/0215-Populator-seed-controls.patch index 74383f1c4..ef756d33b 100644 --- a/patches/server/0215-Populator-seed-controls.patch +++ b/patches/server/0215-Populator-seed-controls.patch @@ -39,10 +39,10 @@ index a7a7e6cd87270e64a92448f03f8b0b0c7e375ec7..9fb19162c0e436122087d03d37b502a1 try { region.setCurrentlyGenerating(supplier3); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 3a16d61ceab7c097187fb38b17811b0d5f9eceb9..02a0d473cafcf0188f0b9dc1d36f2cc5de6ddb45 100644 +index 8c6bd440e8e12c064e9628dde6913991744afa8b..398be3312551c17dce4ae5bd7a898e4d36a040c2 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2266,4 +2266,9 @@ public class PurpurWorldConfig { +@@ -2260,4 +2260,9 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); } diff --git a/patches/server/0217-Shulker-spawn-from-bullet-options.patch b/patches/server/0217-Shulker-spawn-from-bullet-options.patch index b5b9236ed..0113c54bc 100644 --- a/patches/server/0217-Shulker-spawn-from-bullet-options.patch +++ b/patches/server/0217-Shulker-spawn-from-bullet-options.patch @@ -61,10 +61,10 @@ index f812a75985d26785639491c9a980387a3f261f2d..b11fb39b69f5225ca7da72ca1a2200c7 + // Purpur end } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 02a0d473cafcf0188f0b9dc1d36f2cc5de6ddb45..8a7fba8ebd0818cda7cf81d21f48f861db304ab5 100644 +index 398be3312551c17dce4ae5bd7a898e4d36a040c2..35a0a270fad348a2f60ae3f9a480f1a527f525ed 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1723,6 +1723,11 @@ public class PurpurWorldConfig { +@@ -1717,6 +1717,11 @@ public class PurpurWorldConfig { public boolean shulkerRidable = false; public boolean shulkerRidableInWater = false; public double shulkerMaxHealth = 30.0D; @@ -76,7 +76,7 @@ index 02a0d473cafcf0188f0b9dc1d36f2cc5de6ddb45..8a7fba8ebd0818cda7cf81d21f48f861 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1732,6 +1737,11 @@ public class PurpurWorldConfig { +@@ -1726,6 +1731,11 @@ public class PurpurWorldConfig { set("mobs.shulker.attributes.max_health", oldValue); } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); diff --git a/patches/server/0219-Option-to-make-drowned-break-doors.patch b/patches/server/0219-Option-to-make-drowned-break-doors.patch index 92baec130..a382f850d 100644 --- a/patches/server/0219-Option-to-make-drowned-break-doors.patch +++ b/patches/server/0219-Option-to-make-drowned-break-doors.patch @@ -34,10 +34,10 @@ index 8d3ce6c97a8734c0d13844cafca251a3f4dce8a4..a004d59483dc3ffb404ae28daf76c807 @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 11204fc15c7df12827bede661a2b5d4e532b9416..54a43a2512f7d5f66e723acd9a465bb1d215ea94 100644 +index a45d894c8234babc0a7b3b8ee03b92d192df168f..342b855ece49e1acbdd1268222ba156bf3012036 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1022,6 +1022,7 @@ public class PurpurWorldConfig { +@@ -1016,6 +1016,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyOnlyBaby = true; public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; @@ -45,7 +45,7 @@ index 11204fc15c7df12827bede661a2b5d4e532b9416..54a43a2512f7d5f66e723acd9a465bb1 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1035,6 +1036,7 @@ public class PurpurWorldConfig { +@@ -1029,6 +1030,7 @@ public class PurpurWorldConfig { drownedJockeyOnlyBaby = getBoolean("mobs.drowned.jockey.only-babies", drownedJockeyOnlyBaby); drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance); drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); diff --git a/patches/server/0220-Configurable-hunger-starvation-damage.patch b/patches/server/0220-Configurable-hunger-starvation-damage.patch index 070317dbf..f0c74db07 100644 --- a/patches/server/0220-Configurable-hunger-starvation-damage.patch +++ b/patches/server/0220-Configurable-hunger-starvation-damage.patch @@ -18,10 +18,10 @@ index c1130952e3fa22abaa27fcc1c4761c831dc56cc3..1ac08eca469739cb52abd38483c431b6 this.tickTimer = 0; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 54a43a2512f7d5f66e723acd9a465bb1d215ea94..5da1c0004f786dd25d2ac674e6560b707cd7d30d 100644 +index 342b855ece49e1acbdd1268222ba156bf3012036..093340d3871ec3db4271d5c33e53edef04d7ce03 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2285,4 +2285,9 @@ public class PurpurWorldConfig { +@@ -2279,4 +2279,9 @@ public class PurpurWorldConfig { private void seedSettings() { randomPopulatorSeed = getBoolean("seed.random-populator-seed", randomPopulatorSeed); } diff --git a/patches/server/0227-Store-placer-on-Block-when-placed.patch b/patches/server/0227-Store-placer-on-Block-when-placed.patch index 3ec993229..66927c5fc 100644 --- a/patches/server/0227-Store-placer-on-Block-when-placed.patch +++ b/patches/server/0227-Store-placer-on-Block-when-placed.patch @@ -25,10 +25,10 @@ index 115f8eb919e90bc4a79db1d0f7875a31cc962f07..d8df4457c28225508d9cb53ed6ea12d2 world.notifyAndUpdatePhysics(newblockposition, null, oldBlock, block, world.getBlockState(newblockposition), updateFlag, 512); // send null chunk as chunk.k() returns false by this point } diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index 0f295a496d4d94811199fa952ed68325ee1df0f6..5aab59cba33bcf4b615977dcd9261b0cf2b56aa9 100644 +index 94a69b7a1443231cf807fb792478c35334f73e62..2d742ba9d05b599c38b4ffe78b8cf7044652e95f 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java -@@ -461,7 +461,17 @@ public class Block extends BlockBehaviour implements ItemLike { +@@ -465,7 +465,17 @@ public class Block extends BlockBehaviour implements ItemLike { Block.dropResources(state, world, pos, blockEntity, player, stack); } diff --git a/patches/server/0234-Config-to-disable-Enderman-teleport-on-projectile-hi.patch b/patches/server/0234-Config-to-disable-Enderman-teleport-on-projectile-hi.patch index 83ff58b2b..15da5dbe2 100644 --- a/patches/server/0234-Config-to-disable-Enderman-teleport-on-projectile-hi.patch +++ b/patches/server/0234-Config-to-disable-Enderman-teleport-on-projectile-hi.patch @@ -18,10 +18,10 @@ index ba61f78874d8578b862f317fe00a3162c45253e0..42370072dac9144be5c07f88d24d8ba4 for (int i = 0; i < 64; ++i) { if (this.teleport()) { diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 878b35ea7636d29b01550cacb724e12274f15caa..41e10cb7960e0dad7ae049cfd22c4a2ca3f335d0 100644 +index 84b41052b3d3f1d99c1edc17e752ff0306eff9fa..d481c7235af2bc9144b9b03fed83e283fe35725f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1264,6 +1264,7 @@ public class PurpurWorldConfig { +@@ -1258,6 +1258,7 @@ public class PurpurWorldConfig { public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; @@ -29,7 +29,7 @@ index 878b35ea7636d29b01550cacb724e12274f15caa..41e10cb7960e0dad7ae049cfd22c4a2c private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1285,6 +1286,7 @@ public class PurpurWorldConfig { +@@ -1279,6 +1280,7 @@ public class PurpurWorldConfig { endermanAggroEndermitesOnlyIfPlayerSpawned = getBoolean("mobs.enderman.aggressive-towards-endermites-only-spawned-by-player-thrown-ender-pearls", endermanAggroEndermitesOnlyIfPlayerSpawned); endermanIgnorePlayerDragonHead = getBoolean("mobs.enderman.ignore-players-wearing-dragon-head", endermanIgnorePlayerDragonHead); endermanDisableStareAggro = getBoolean("mobs.enderman.disable-player-stare-aggression", endermanDisableStareAggro); diff --git a/patches/server/0236-Add-compass-command.patch b/patches/server/0236-Add-compass-command.patch index df4fd7195..a635171a6 100644 --- a/patches/server/0236-Add-compass-command.patch +++ b/patches/server/0236-Add-compass-command.patch @@ -17,7 +17,7 @@ index 528fd87ae1c1c01e13885d88fc8056b0f932fb61..bfad241892b8280d261ab8301245b91b if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index b2bf0ce295520e7dc6f17fd904769e47164675eb..023b3df9b375aa8f91a5f2e7d3592482afac7c0e 100644 +index ba690d310ee6b9d3a1b1bf2ae13e016daabeb0fc..3582316c356ea0ed773602ebbe57cad4ad7a6299 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -261,6 +261,7 @@ public class ServerPlayer extends Player { @@ -44,7 +44,7 @@ index b2bf0ce295520e7dc6f17fd904769e47164675eb..023b3df9b375aa8f91a5f2e7d3592482 } // CraftBukkit start - World fallback code, either respawn location or global spawn -@@ -2559,5 +2562,13 @@ public class ServerPlayer extends Player { +@@ -2561,5 +2564,13 @@ public class ServerPlayer extends Player { public void tpsBar(boolean tpsBar) { this.tpsBar = tpsBar; } diff --git a/patches/server/0237-Config-to-prevent-horses-from-standing-with-riders.patch b/patches/server/0237-Config-to-prevent-horses-from-standing-with-riders.patch index 76a2165ec..7eb600efb 100644 --- a/patches/server/0237-Config-to-prevent-horses-from-standing-with-riders.patch +++ b/patches/server/0237-Config-to-prevent-horses-from-standing-with-riders.patch @@ -20,10 +20,10 @@ index 16b72398645757ca194cb638f46b4528283e2199..03ae6519a523ee73cce664d85074b5f9 } diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 19e672657e4e091730aa3a36b8b947153fd2244f..1d78eece2653d8ae83924b7fa0985badb43fb214 100644 +index 3f6c3dc857bf212b069f4a848d973de281efe64a..0cb6779f0da78830564b7d30ac2c1e018b9a0861 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -1443,6 +1443,7 @@ public class PurpurWorldConfig { +@@ -1437,6 +1437,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; @@ -31,7 +31,7 @@ index 19e672657e4e091730aa3a36b8b947153fd2244f..1d78eece2653d8ae83924b7fa0985bad private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1459,6 +1460,7 @@ public class PurpurWorldConfig { +@@ -1453,6 +1454,7 @@ public class PurpurWorldConfig { horseMovementSpeedMin = getDouble("mobs.horse.attributes.movement_speed.min", horseMovementSpeedMin); horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); diff --git a/patches/server/0240-Customizeable-Zombie-Villager-curing-times.patch b/patches/server/0240-Customizeable-Zombie-Villager-curing-times.patch index a10e863c4..3a82bef2a 100644 --- a/patches/server/0240-Customizeable-Zombie-Villager-curing-times.patch +++ b/patches/server/0240-Customizeable-Zombie-Villager-curing-times.patch @@ -18,10 +18,10 @@ index 7fda07f5fa756077dab59de95f15b9197e09581a..6a456f52ae529654c15bd3e8ec717b3f this.gameEvent(GameEvent.MOB_INTERACT, this.eyeBlockPosition()); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 92659117e80aa413f6a8148fcb6bc8adb920e3cd..e140288d7c6125fd952770903c5d8092f1f17ce2 100644 +index a986b6a2ef808a4b4796c160820e73b08121a889..ced739309c3ded34dd2182606d74875df9bb0fc0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2431,6 +2431,8 @@ public class PurpurWorldConfig { +@@ -2425,6 +2425,8 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; @@ -30,7 +30,7 @@ index 92659117e80aa413f6a8148fcb6bc8adb920e3cd..e140288d7c6125fd952770903c5d8092 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2444,6 +2446,8 @@ public class PurpurWorldConfig { +@@ -2438,6 +2440,8 @@ public class PurpurWorldConfig { zombieVillagerJockeyOnlyBaby = getBoolean("mobs.zombie_villager.jockey.only-babies", zombieVillagerJockeyOnlyBaby); zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); diff --git a/patches/server/0242-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0242-Toggle-for-Wither-s-spawn-sound.patch index be89d51b9..c4534ed6d 100644 --- a/patches/server/0242-Toggle-for-Wither-s-spawn-sound.patch +++ b/patches/server/0242-Toggle-for-Wither-s-spawn-sound.patch @@ -18,10 +18,10 @@ index 48c1ddbd9f20e6ece121b166c08341006fa15105..c01c60485eba8f57ad6ead20bd3f9101 // this.world.b(1023, new BlockPosition(this), 0); //int viewDistance = ((WorldServer) this.world).getServer().getViewDistance() * 16; // Paper - updated to use worlds actual view distance incase we have to uncomment this due to removal of player view distance API diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 81a301c36f9a6077d9a4d1a9812d647449836f70..0a311524e420a5c7f976a85c33830ef0bebf0a37 100644 +index 79bd3e9550b1077c248c3fbcf5e0b862026bd47e..99f17f15829e7af1e1b78f38cf90e91642c3680f 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2292,6 +2292,7 @@ public class PurpurWorldConfig { +@@ -2286,6 +2286,7 @@ public class PurpurWorldConfig { public boolean witherBypassMobGriefing = false; public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; @@ -29,7 +29,7 @@ index 81a301c36f9a6077d9a4d1a9812d647449836f70..0a311524e420a5c7f976a85c33830ef0 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2311,6 +2312,7 @@ public class PurpurWorldConfig { +@@ -2305,6 +2306,7 @@ public class PurpurWorldConfig { witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); diff --git a/patches/server/0245-Conduit-behavior-configuration.patch b/patches/server/0245-Conduit-behavior-configuration.patch index 1b77062bd..ce08e8952 100644 --- a/patches/server/0245-Conduit-behavior-configuration.patch +++ b/patches/server/0245-Conduit-behavior-configuration.patch @@ -44,10 +44,10 @@ index fc996199616156d04d6ae06ddc3da8d2c159c771..dd76fe8aa67a9c4142295b72b1c3cb78 } CraftEventFactory.blockDamage = null; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index 562d285c40bea5a6decf754cd6d9874ccba6dc28..a5f09879544c053854f229b66103a51e24238910 100644 +index 788f444e790f4fb8a5d7f2238509270d18146149..1aaca52309078e0e40fda29079693be640df4308 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2494,4 +2494,27 @@ public class PurpurWorldConfig { +@@ -2488,4 +2488,27 @@ public class PurpurWorldConfig { private void hungerSettings() { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } diff --git a/patches/server/0246-Cauldron-fill-chances.patch b/patches/server/0246-Cauldron-fill-chances.patch index 262131165..efe3fd692 100644 --- a/patches/server/0246-Cauldron-fill-chances.patch +++ b/patches/server/0246-Cauldron-fill-chances.patch @@ -18,10 +18,10 @@ index dbae4f3b56d0290c6d28b9beaaa3b459754d43e3..676184c48c3abd8e2fb9a04ae3e165dc @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -index a5f09879544c053854f229b66103a51e24238910..ee60bcba9ab36a41f294f6c1c4d1d6937151f07d 100644 +index 1aaca52309078e0e40fda29079693be640df4308..fe13c25efe4c3696f20771f1bbdf256c56934a24 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java -@@ -2517,4 +2517,11 @@ public class PurpurWorldConfig { +@@ -2511,4 +2511,11 @@ public class PurpurWorldConfig { }); conduitBlocks = conduitBlockList.toArray(Block[]::new); }