diff --git a/gradle.properties b/gradle.properties index 251b67a7a..73ae042df 100644 --- a/gradle.properties +++ b/gradle.properties @@ -4,7 +4,7 @@ version = 1.18-R0.1-SNAPSHOT mcVersion = 1.18 packageVersion = 1_18_R1 -paperCommit = 1f5b013cbedc28249353c735f11317ee778c812f +paperCommit = 6b072ee589c809298f272b1f7d611190d2f94e45 org.gradle.caching = true org.gradle.parallel = true diff --git a/patches/api/0002-Purpur-config-files.patch b/patches/api/0002-Purpur-config-files.patch index d15cb49e8..a065d3517 100644 --- a/patches/api/0002-Purpur-config-files.patch +++ b/patches/api/0002-Purpur-config-files.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur config files diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 395b0706bfbf03741df6ca1ff084618b91140acc..5bd999c3a05d936b19689930c7f64e12c23c3679 100644 +index 6996a61534bbdd34729f1dcd988ae2666bfad2c4..93316cd9346c9fcfc6bdef96b1ed34a76c47f6f9 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1727,6 +1727,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1743,6 +1743,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } // Paper end diff --git a/patches/api/0003-Purpur-client-support.patch b/patches/api/0003-Purpur-client-support.patch index 144b36aec..b295ba974 100644 --- a/patches/api/0003-Purpur-client-support.patch +++ b/patches/api/0003-Purpur-client-support.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index bdb830942b7751bfcce36583ffd59488473f2db8..ccd12268d9c1b2c889a68735831a9b26a80dbf53 100644 +index f5ded992672dde910cd4e1be50c238b142157ff8..c0f46522cee8bb022d5eff55656ffa6c38aa86cf 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2331,4 +2331,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2366,4 +2366,13 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Override Spigot spigot(); // Spigot end diff --git a/patches/api/0008-AFK-API.patch b/patches/api/0008-AFK-API.patch index f8c3c61fd..c5ce1cdda 100644 --- a/patches/api/0008-AFK-API.patch +++ b/patches/api/0008-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index ccd12268d9c1b2c889a68735831a9b26a80dbf53..af0c24d79251ba032b8ca3051fb451b00a5986e4 100644 +index c0f46522cee8bb022d5eff55656ffa6c38aa86cf..4870666fbaeeffe1607214acdf89816e2ef1cbce 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2339,5 +2339,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2374,5 +2374,24 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return True if Player uses Purpur Client */ public boolean usesPurpurClient(); diff --git a/patches/api/0009-Bring-back-server-name.patch b/patches/api/0009-Bring-back-server-name.patch index 3512b2837..efb8057dc 100644 --- a/patches/api/0009-Bring-back-server-name.patch +++ b/patches/api/0009-Bring-back-server-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Bring back server name diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 7868a54eec71f7b31d7fabf3288eb2dc62649e92..ae8d698a58de2b4c0b42a6f43c63a9e5a4aaa039 100644 +index b7c45aa5d5f79fd16e59401acfa9c2bed0a5d78c..a00347d848bc00df2d30a4030837fe960aa658fb 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2120,4 +2120,15 @@ public final class Bukkit { +@@ -2138,4 +2138,15 @@ public final class Bukkit { public static Server.Spigot spigot() { return server.spigot(); } @@ -25,10 +25,10 @@ index 7868a54eec71f7b31d7fabf3288eb2dc62649e92..ae8d698a58de2b4c0b42a6f43c63a9e5 + // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 5bd999c3a05d936b19689930c7f64e12c23c3679..06552f28aacf93ac68db90dccfcd1aa48eaba382 100644 +index 93316cd9346c9fcfc6bdef96b1ed34a76c47f6f9..7b46448b75cd78d6a6e09a113c59ee41ba12fc70 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1849,4 +1849,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1865,4 +1865,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @NotNull io.papermc.paper.datapack.DatapackManager getDatapackManager(); // Paper end diff --git a/patches/api/0012-Lagging-threshold.patch b/patches/api/0012-Lagging-threshold.patch index 0380a975e..f6b69c843 100644 --- a/patches/api/0012-Lagging-threshold.patch +++ b/patches/api/0012-Lagging-threshold.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Lagging threshold diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index ae8d698a58de2b4c0b42a6f43c63a9e5a4aaa039..a8fc16f2fa6713a4cbe75c17a8e6743f69c383d5 100644 +index a00347d848bc00df2d30a4030837fe960aa658fb..b36fd9bd6b633bb2f8503d1ca19befa8a4936b56 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2130,5 +2130,14 @@ public final class Bukkit { +@@ -2148,5 +2148,14 @@ public final class Bukkit { public static String getServerName() { return server.getServerName(); } @@ -24,10 +24,10 @@ index ae8d698a58de2b4c0b42a6f43c63a9e5a4aaa039..a8fc16f2fa6713a4cbe75c17a8e6743f // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 06552f28aacf93ac68db90dccfcd1aa48eaba382..1910f88c155c6d19d02494e4fea2b86509235e5a 100644 +index 7b46448b75cd78d6a6e09a113c59ee41ba12fc70..7fa620281187f17effe178d2e4e306860ebff801 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1857,5 +1857,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1873,5 +1873,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull String getServerName(); diff --git a/patches/api/0015-Player-invulnerabilities.patch b/patches/api/0015-Player-invulnerabilities.patch index 66304291c..65dd62b9e 100644 --- a/patches/api/0015-Player-invulnerabilities.patch +++ b/patches/api/0015-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 af0c24d79251ba032b8ca3051fb451b00a5986e4..1010232accc7cb0052dade56e7366d90179d7f93 100644 +index 4870666fbaeeffe1607214acdf89816e2ef1cbce..435eed54c20bf46e1348e3c45c976213a8f09b05 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2358,5 +2358,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2393,5 +2393,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Reset the idle timer back to 0 */ void resetIdleTimer(); diff --git a/patches/api/0027-Fix-javadoc-warnings-missing-param-and-return.patch b/patches/api/0027-Fix-javadoc-warnings-missing-param-and-return.patch index d18f4a75e..8e21b51c1 100644 --- a/patches/api/0027-Fix-javadoc-warnings-missing-param-and-return.patch +++ b/patches/api/0027-Fix-javadoc-warnings-missing-param-and-return.patch @@ -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 1910f88c155c6d19d02494e4fea2b86509235e5a..7e138e0b7d9c0ced83911035c1d8a956e432b304 100644 +index 7fa620281187f17effe178d2e4e306860ebff801..e2543cfced6cca1f10bcdfe1e28dd889f6ac5c5c 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1700,6 +1700,9 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1716,6 +1716,9 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi UnsafeValues getUnsafe(); // Spigot start @@ -921,10 +921,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 1010232accc7cb0052dade56e7366d90179d7f93..b17e9e446aafc029d70b45fd7879d77cc82d8359 100644 +index 435eed54c20bf46e1348e3c45c976213a8f09b05..d26103c4fb0c2d6d99abae962b5ff25d34bd0ab7 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2161,6 +2161,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2196,6 +2196,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM void resetCooldown(); /** @@ -933,7 +933,7 @@ index 1010232accc7cb0052dade56e7366d90179d7f93..b17e9e446aafc029d70b45fd7879d77c * @return the client option value of the player */ @NotNull -@@ -2192,6 +2194,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2227,6 +2229,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM // Paper end // Spigot start diff --git a/patches/api/0031-Conflict-on-change-for-adventure-deprecations.patch b/patches/api/0031-Conflict-on-change-for-adventure-deprecations.patch index 0e96cd048..b7544ed53 100644 --- a/patches/api/0031-Conflict-on-change-for-adventure-deprecations.patch +++ b/patches/api/0031-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 365bb7c092cf7f008ba376ae3b511d69431a28f7..4ef8c75df64e670c55f13efaa69651fd636d5f12 100644 +index b36fd9bd6b633bb2f8503d1ca19befa8a4936b56..fbef0ab6514f9a2ab1e48e9f973992221ab09552 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java @@ -370,7 +370,7 @@ public final class Bukkit { @@ -72,7 +72,7 @@ index 365bb7c092cf7f008ba376ae3b511d69431a28f7..4ef8c75df64e670c55f13efaa69651fd return server.getShutdownMessage(); } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 7e138e0b7d9c0ced83911035c1d8a956e432b304..c641822847c8f5c3753fa5a4ea97d86fa44b1fa0 100644 +index e2543cfced6cca1f10bcdfe1e28dd889f6ac5c5c..7fa99fadfe5558fddf2aeef51ca824a59a55f7d4 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -290,7 +290,7 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @@ -170,10 +170,10 @@ index c8d37184d8e882a4084a1bfef85faa330588600b..46bae5c13ce2b973b114682f6a338981 /** diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241139ba65d 100644 +index d26103c4fb0c2d6d99abae962b5ff25d34bd0ab7..c2905745cd54ace5f84b7119692a4ebfd9864d16 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 +@@ -76,7 +76,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return the friendly name * @deprecated in favour of {@link #displayName()} */ @@ -182,7 +182,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241 @NotNull public String getDisplayName(); -@@ -89,7 +89,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -90,7 +90,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param name The new display name. * @deprecated in favour of {@link #displayName(net.kyori.adventure.text.Component)} */ @@ -191,7 +191,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241 public void setDisplayName(@Nullable String name); // Paper start -@@ -130,7 +130,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -131,7 +131,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @deprecated in favour of {@link #playerListName()} */ @NotNull @@ -200,7 +200,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241 public String getPlayerListName(); /** -@@ -141,7 +141,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -142,7 +142,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param name new player list name * @deprecated in favour of {@link #playerListName(net.kyori.adventure.text.Component)} */ @@ -209,7 +209,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241 public void setPlayerListName(@Nullable String name); /** -@@ -150,7 +150,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -151,7 +151,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return player list header or null * @deprecated in favour of {@link #playerListHeader()} */ @@ -218,7 +218,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241 @Nullable public String getPlayerListHeader(); -@@ -160,7 +160,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -161,7 +161,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @return player list header or null * @deprecated in favour of {@link #playerListFooter()} */ @@ -227,7 +227,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241 @Nullable public String getPlayerListFooter(); -@@ -170,7 +170,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -171,7 +171,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param header player list header, null for empty * @deprecated in favour of {@link #sendPlayerListHeader(net.kyori.adventure.text.Component)} */ @@ -236,7 +236,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241 public void setPlayerListHeader(@Nullable String header); /** -@@ -179,7 +179,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -180,7 +180,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param footer player list footer, null for empty * @deprecated in favour of {@link #sendPlayerListFooter(net.kyori.adventure.text.Component)} */ @@ -245,7 +245,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241 public void setPlayerListFooter(@Nullable String footer); /** -@@ -190,7 +190,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -191,7 +191,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param footer player list footer, null for empty * @deprecated in favour of {@link #sendPlayerListHeaderAndFooter(net.kyori.adventure.text.Component, net.kyori.adventure.text.Component)} */ @@ -254,7 +254,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241 public void setPlayerListHeaderFooter(@Nullable String header, @Nullable String footer); /** -@@ -230,7 +230,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -231,7 +231,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param message kick message * @deprecated in favour of {@link #kick(net.kyori.adventure.text.Component)} */ @@ -263,7 +263,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241 public void kickPlayer(@Nullable String message); // Paper start -@@ -669,7 +669,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -670,7 +670,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)} */ @@ -272,7 +272,7 @@ index b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines) throws IllegalArgumentException; /** -@@ -690,7 +690,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -691,7 +691,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 b17e9e446aafc029d70b45fd7879d77cc82d8359..ba1894762ede0af3ba18a4105e12e241 public void sendSignChange(@NotNull Location loc, @Nullable String[] lines, @NotNull DyeColor dyeColor) throws IllegalArgumentException; /** -@@ -1896,7 +1896,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1922,7 +1922,7 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @deprecated in favour of {@link #locale()} */ @NotNull diff --git a/patches/api/0035-Flying-Fall-Damage-API.patch b/patches/api/0035-Flying-Fall-Damage-API.patch index 668e4a21d..3fc5cc6f0 100644 --- a/patches/api/0035-Flying-Fall-Damage-API.patch +++ b/patches/api/0035-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 ba1894762ede0af3ba18a4105e12e241139ba65d..15160d8999665c2dce77bfcd44630247a2377ede 100644 +index c2905745cd54ace5f84b7119692a4ebfd9864d16..0859c5eecefe279b463a50b064c0d666191fabc7 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2384,5 +2384,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2419,5 +2419,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param invulnerableTicks Invulnerable ticks remaining */ void setSpawnInvulnerableTicks(int invulnerableTicks); diff --git a/patches/api/0040-Add-force-and-prompt-parameters-to-resource-pack-api.patch b/patches/api/0040-Add-force-and-prompt-parameters-to-resource-pack-api.patch index cc9fba714..3b8804889 100644 --- a/patches/api/0040-Add-force-and-prompt-parameters-to-resource-pack-api.patch +++ b/patches/api/0040-Add-force-and-prompt-parameters-to-resource-pack-api.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add force and prompt parameters to resource pack api diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index 15160d8999665c2dce77bfcd44630247a2377ede..0cbf3ba84da691ad5be6d36820e72a6d9f58cfbc 100644 +index 0859c5eecefe279b463a50b064c0d666191fabc7..1964d44571b442649f7e9f1d4aa5d284d32c93de 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1519,6 +1519,88 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1520,6 +1520,88 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM */ public void setResourcePack(@NotNull String url, @NotNull byte[] hash); diff --git a/patches/api/0042-Added-the-ability-to-add-combustible-items.patch b/patches/api/0042-Added-the-ability-to-add-combustible-items.patch index 38a395ae5..0f7463a80 100644 --- a/patches/api/0042-Added-the-ability-to-add-combustible-items.patch +++ b/patches/api/0042-Added-the-ability-to-add-combustible-items.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Added the ability to add combustible items diff --git a/src/main/java/org/bukkit/Bukkit.java b/src/main/java/org/bukkit/Bukkit.java -index 4ef8c75df64e670c55f13efaa69651fd636d5f12..c98794dff18890fc2fe964238e06c0e20e58750f 100644 +index fbef0ab6514f9a2ab1e48e9f973992221ab09552..5bfdc308b5133c0cbe7cccfa26bd2135ccd4603b 100644 --- a/src/main/java/org/bukkit/Bukkit.java +++ b/src/main/java/org/bukkit/Bukkit.java -@@ -2139,5 +2139,24 @@ public final class Bukkit { +@@ -2157,5 +2157,24 @@ public final class Bukkit { public static boolean isLagging() { return server.isLagging(); } @@ -34,10 +34,10 @@ index 4ef8c75df64e670c55f13efaa69651fd636d5f12..c98794dff18890fc2fe964238e06c0e2 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index c641822847c8f5c3753fa5a4ea97d86fa44b1fa0..f3b6ba687e3d96fbee592465977df29338dd9a27 100644 +index 7fa99fadfe5558fddf2aeef51ca824a59a55f7d4..d8cf62e42dcff4414dcd5c1979a89a32a975da44 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1867,5 +1867,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1883,5 +1883,20 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi * @return True if lagging */ boolean isLagging(); diff --git a/patches/server/0002-Rebrand.patch b/patches/server/0002-Rebrand.patch index c85c6d770..f03be5ba0 100644 --- a/patches/server/0002-Rebrand.patch +++ b/patches/server/0002-Rebrand.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Rebrand diff --git a/build.gradle.kts b/build.gradle.kts -index cd74406039704e5a880f00b9b60bb7b1dedc5398..ef00dddbbf432d3f9f06bc6095ab5a8256961529 100644 +index 5678a9f8d2aa8a7afbc5729570ec297b12acf75d..de15de77c4d7020b7fef00179cab3a71daed2c5d 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -18,8 +18,12 @@ repositories { @@ -41,7 +41,7 @@ index cd74406039704e5a880f00b9b60bb7b1dedc5398..ef00dddbbf432d3f9f06bc6095ab5a82 "Implementation-Vendor" to date, // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -158,7 +164,7 @@ fun TaskContainer.registerRunTask( +@@ -155,7 +161,7 @@ fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { @@ -148,7 +148,7 @@ index 38a0fb9a7c4ade9cacfd30dffabfea7e6b773981..fd3d3e22613511a42f7fc343079b081c // Spigot end DedicatedServer.LOGGER.warn("To change this, set \"online-mode\" to \"true\" in the server.properties file."); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 02e25451737841001363f4697fd05b1e2c6240cd..a4024cba49bcd2170206c6f1439e081129be3d15 100644 +index d91abf93f2a06f73d3124f4fcff2491fe8d36655..310c3e1590465412af6905eab33193c6bf5e5e47 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -253,7 +253,7 @@ import javax.annotation.Nullable; // Paper diff --git a/patches/server/0003-Purpur-config-files.patch b/patches/server/0003-Purpur-config-files.patch index 3207e0cd2..6e3ea0fb8 100644 --- a/patches/server/0003-Purpur-config-files.patch +++ b/patches/server/0003-Purpur-config-files.patch @@ -106,7 +106,7 @@ index c2220d5157d3065a256cd17410760c6aedf24987..729d11569e59e78a0fda67697fe9e27a this.world = new CraftWorld((ServerLevel) this, gen, biomeProvider, env); this.ticksPerAnimalSpawns = this.getCraftServer().getTicksPerAnimalSpawns(); // CraftBukkit diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a4024cba49bcd2170206c6f1439e081129be3d15..aa9a7cdc4431a803279bb2325e0eaed7579aafd6 100644 +index 310c3e1590465412af6905eab33193c6bf5e5e47..549577e31840ce5f32adb2c0909b915da4362207 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -931,6 +931,7 @@ public final class CraftServer implements Server { @@ -133,7 +133,7 @@ index a4024cba49bcd2170206c6f1439e081129be3d15..aa9a7cdc4431a803279bb2325e0eaed7 this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2547,6 +2550,18 @@ public final class CraftServer implements Server { +@@ -2648,6 +2651,18 @@ public final class CraftServer implements Server { return com.destroystokyo.paper.PaperConfig.config; } diff --git a/patches/server/0004-Purpur-client-support.patch b/patches/server/0004-Purpur-client-support.patch index 767444b0a..4370303a1 100644 --- a/patches/server/0004-Purpur-client-support.patch +++ b/patches/server/0004-Purpur-client-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Purpur client support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index b6f9c99d580d985f2b84efaa655d9ae40073e72b..c856b38b49969f6eb0b2a82bff6d80967857643d 100644 +index e0beb35868a564dbcc0369d0a56b94642a23436a..08cb39a9af8adbd048a91a7cfa76863c7b1a13af 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -254,6 +254,7 @@ public class ServerPlayer extends Player { @@ -17,10 +17,10 @@ index b6f9c99d580d985f2b84efaa655d9ae40073e72b..c856b38b49969f6eb0b2a82bff6d8096 public double lastEntitySpawnRadiusSquared; // Paper - optimise isOutsideRange, this field is in blocks public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3eba6962040f33b7b31b16c9de22d90f225710b4..23074f0b00cde60e3a42335c7aa3eb4f6162d44d 100644 +index eb7ac0b2a774dc7348eb2a94cc6c61792b47dd1d..93a49a423731b31b42e0d240e71f9fecb9ec3c18 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3058,6 +3058,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3124,6 +3124,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser private static final ResourceLocation CUSTOM_UNREGISTER = new ResourceLocation("unregister"); private static final ResourceLocation MINECRAFT_BRAND = new ResourceLocation("brand"); // Paper - Brand support @@ -28,7 +28,7 @@ index 3eba6962040f33b7b31b16c9de22d90f225710b4..23074f0b00cde60e3a42335c7aa3eb4f @Override public void handleCustomPayload(ServerboundCustomPayloadPacket packet) { -@@ -3082,6 +3083,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3148,6 +3149,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t unregister custom payload", ex); this.disconnect("Invalid payload UNREGISTER!", org.bukkit.event.player.PlayerKickEvent.Cause.INVALID_PAYLOAD); // Paper - kick event cause } @@ -43,10 +43,10 @@ index 3eba6962040f33b7b31b16c9de22d90f225710b4..23074f0b00cde60e3a42335c7aa3eb4f try { byte[] data = new byte[packet.data.readableBytes()]; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ad15c4c20ae9e1858a2b914b0a1aa91ec1d7a012..8a1cdd256ab8496b9a8e34bf891c1001b2cee082 100644 +index c6cd4a5790384811f3171ce740afb9459f3d6fc0..f32a4aaa0f027b71043109c78c8a5e18e0397350 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2563,4 +2563,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2577,4 +2577,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end diff --git a/patches/server/0005-Component-related-conveniences.patch b/patches/server/0005-Component-related-conveniences.patch index 30674d577..a0215175c 100644 --- a/patches/server/0005-Component-related-conveniences.patch +++ b/patches/server/0005-Component-related-conveniences.patch @@ -5,7 +5,7 @@ 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 c856b38b49969f6eb0b2a82bff6d80967857643d..ed8b90e90dc4878bce9eecbbf944f5264630f6bb 100644 +index 08cb39a9af8adbd048a91a7cfa76863c7b1a13af..3e91bb85adc33434b278bf2ca83164dae3f7a6e5 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1693,6 +1693,26 @@ public class ServerPlayer extends Player { @@ -36,7 +36,7 @@ index c856b38b49969f6eb0b2a82bff6d80967857643d..ed8b90e90dc4878bce9eecbbf944f526 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 24111c47145b296c442982affdbfe045c52386e1..986db30e5f8313d57345e16a793a22b426e2ecfa 100644 +index 042be2cf60a9d01698808d84f2e537a5eb952079..6ec5a8a52ec06be917f2ca682f5920ed5ae1a82c 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1373,6 +1373,62 @@ public abstract class PlayerList { @@ -103,10 +103,10 @@ index 24111c47145b296c442982affdbfe045c52386e1..986db30e5f8313d57345e16a793a22b4 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 3febcc7e88b74d4bdb45e633fdaa9d3313a6ae0b..23c17a1ebb63290168b2b67f2dbeb7741c368e7b 100644 +index 1dd646bb8d1c153a3d034de1c208b3bacebd067f..390f8398af00b770d48d274970b8b164925b63b5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3514,6 +3514,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3601,6 +3601,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i return SlotAccess.NULL; } diff --git a/patches/server/0006-Ridables.patch b/patches/server/0006-Ridables.patch index ead03a0bf..78940a727 100644 --- a/patches/server/0006-Ridables.patch +++ b/patches/server/0006-Ridables.patch @@ -34,7 +34,7 @@ index 7ad6b7b3094156477570b738026d88cb0f0f4f9e..973ea150c2f8ac136736b4ae9f505491 this.profiler.push(() -> { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index f055d25394d20afb208e8612fb31d77af141876b..d4d8c93f0fe85ce30e153646e69973f1119700f3 100644 +index e371ffb1f88e08883a1a2460260ff368c0cfe853..a2185651b35fdf6563b20ec8ea8e2b57f75f9dd5 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -208,6 +208,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -46,7 +46,7 @@ index f055d25394d20afb208e8612fb31d77af141876b..d4d8c93f0fe85ce30e153646e69973f1 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 ed8b90e90dc4878bce9eecbbf944f5264630f6bb..e38a9ff1024669a5ea9c45a7f33c606167f15f9a 100644 +index 3e91bb85adc33434b278bf2ca83164dae3f7a6e5..493c0540c02075d081a5ce404e480625632bd1a4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -662,6 +662,15 @@ public class ServerPlayer extends Player { @@ -73,10 +73,10 @@ index ed8b90e90dc4878bce9eecbbf944f5264630f6bb..e38a9ff1024669a5ea9c45a7f33c6061 + } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 48f95c3a9148a21b76b464c10eb41179d23004de..634de4e0b941ee236bd605b66bfbb2123fc03294 100644 +index 93a49a423731b31b42e0d240e71f9fecb9ec3c18..cbca17bc6890319fd8df725e53626b7a1e9c4576 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2369,6 +2369,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2435,6 +2435,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -86,7 +86,7 @@ index 48f95c3a9148a21b76b464c10eb41179d23004de..634de4e0b941ee236bd605b66bfbb212 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 1aeca95a271ad925f3615fdc543c7a212ff151fa..4844974e4728aeb5199c05b6dfb74fb3077d80db 100644 +index 390f8398af00b770d48d274970b8b164925b63b5..a33c9089d96ab8e66557be7880e562c88b5d56f9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -292,7 +292,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -98,7 +98,7 @@ index 1aeca95a271ad925f3615fdc543c7a212ff151fa..4844974e4728aeb5199c05b6dfb74fb3 private float eyeHeight; public boolean isInPowderSnow; public boolean wasInPowderSnow; -@@ -2529,6 +2529,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2616,6 +2616,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i this.passengers = ImmutableList.copyOf(list); } @@ -111,7 +111,7 @@ index 1aeca95a271ad925f3615fdc543c7a212ff151fa..4844974e4728aeb5199c05b6dfb74fb3 } return true; // CraftBukkit } -@@ -2569,6 +2575,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2656,6 +2662,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i return false; } // Spigot end @@ -126,7 +126,7 @@ index 1aeca95a271ad925f3615fdc543c7a212ff151fa..4844974e4728aeb5199c05b6dfb74fb3 if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -@@ -4189,4 +4203,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -4281,4 +4295,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this); } // Paper end @@ -4538,7 +4538,7 @@ index 5aae88e20bc04560d6ad52cfcaa872d28bfcee8f..1ba59900ddf403453aeb4f82b097feaa + // 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 aaf47d3f58819ead3553973c159c5c6eec4abe43..6d38c0478210bf264afd48be3e7ba7fee296ebc1 100644 +index 5395dbf1c9bedc1e3e13f6661affdfd94fded502..e8cd2f1cbc6d18cfa7aaa287d28cdeb3b7ee1954 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -542,6 +542,15 @@ public class CraftEventFactory { @@ -4582,7 +4582,7 @@ index aaf47d3f58819ead3553973c159c5c6eec4abe43..6d38c0478210bf264afd48be3e7ba7fe event = new EntityDamageEvent(damagee.getBukkitEntity(), cause, modifiers, modifierFunctions); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 45a99a5fc63ee4d4f166cd47b1db4d412170dbe2..8fa551bad32ea09cb70f12aa8c84582048ede45f 100644 +index fdfb20170c27711085aa0772866876035e0d98c2..5350ffab8477a2da4891132cf8b7a65cf776574b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -156,4 +156,9 @@ public class PurpurConfig { diff --git a/patches/server/0011-AFK-API.patch b/patches/server/0011-AFK-API.patch index 3d4c870f7..6358ee079 100644 --- a/patches/server/0011-AFK-API.patch +++ b/patches/server/0011-AFK-API.patch @@ -5,7 +5,7 @@ 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 e38a9ff1024669a5ea9c45a7f33c606167f15f9a..8b904d31dda1bfe1b396126376e2f2020b1b0ab1 100644 +index 493c0540c02075d081a5ce404e480625632bd1a4..5a52828ea9fd29511f648243da8c46bc1a391434 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1969,8 +1969,58 @@ public class ServerPlayer extends Player { @@ -68,7 +68,7 @@ index e38a9ff1024669a5ea9c45a7f33c606167f15f9a..8b904d31dda1bfe1b396126376e2f202 return this.stats; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 56015828fe1f0bf66eefa41164e58cc4ebe59f20..c1bbe2786b98649ae7882a05070f2bdad813d7b4 100644 +index cbca17bc6890319fd8df725e53626b7a1e9c4576..ea3eaa94e853d7d5fd9f220fda6455117fe8697d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -293,6 +293,20 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -105,7 +105,7 @@ index 56015828fe1f0bf66eefa41164e58cc4ebe59f20..c1bbe2786b98649ae7882a05070f2bda this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 this.disconnect(new TranslatableComponent("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } -@@ -653,6 +673,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -661,6 +681,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -114,16 +114,16 @@ index 56015828fe1f0bf66eefa41164e58cc4ebe59f20..c1bbe2786b98649ae7882a05070f2bda // Skip the first time we do this if (true) { // Spigot - don't skip any move events Location oldTo = to.clone(); -@@ -1390,7 +1412,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1424,7 +1446,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser if (!this.player.isChangingDimension() && d11 > org.spigotmc.SpigotConfig.movedWronglyThreshold && !this.player.isSleeping() && !this.player.gameMode.isCreative() && this.player.gameMode.getGameModeForPlayer() != GameType.SPECTATOR) { // Spigot - flag1 = true; + flag1 = true; // Paper - diff on change, this should be moved wrongly - ServerGamePacketListenerImpl.LOGGER.warn("{} moved wrongly!", this.player.getName().getString()); + ServerGamePacketListenerImpl.LOGGER.warn("{} moved wrongly!, ({})", this.player.getName().getString(), d11); // Purpur } this.player.absMoveTo(d0, d1, d2, f, f1); -@@ -1429,6 +1451,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1474,6 +1496,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -200,7 +200,7 @@ index 7eae138f3bbddd44c078b2fbcb5d5fd07d5bd9aa..46932d899db4050e6f7e55caaced4096 public boolean processClick(InteractionHand hand) { Entity vehicle = getRootVehicle(); diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java -index 30276959c0119813c27ee3f98e237c93236e5b39..385cccecdddde4abd5c6525aa6404eb2078c3432 100644 +index 6df710cecea9a5c91ccf8bdaec60bdc88a601777..6b0cee0bd6218492b184f94a84da9acffc4f9d26 100644 --- a/src/main/java/net/minecraft/world/level/EntityGetter.java +++ b/src/main/java/net/minecraft/world/level/EntityGetter.java @@ -157,7 +157,7 @@ public interface EntityGetter { @@ -213,10 +213,10 @@ index 30276959c0119813c27ee3f98e237c93236e5b39..385cccecdddde4abd5c6525aa6404eb2 if (range < 0.0D || d < range * range) { return true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8a1cdd256ab8496b9a8e34bf891c1001b2cee082..3e898377b259eb9176772b70a4f3a1b14d0dca91 100644 +index f32a4aaa0f027b71043109c78c8a5e18e0397350..db49d331e76a0c86515cb06caba8d6e1853c77f4 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -428,10 +428,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -429,10 +429,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setPlayerListName(String name) { @@ -233,7 +233,7 @@ index 8a1cdd256ab8496b9a8e34bf891c1001b2cee082..3e898377b259eb9176772b70a4f3a1b1 for (ServerPlayer player : (List) server.getHandle().players) { if (player.getBukkitEntity().canSee(this)) { player.connection.send(new ClientboundPlayerInfoPacket(ClientboundPlayerInfoPacket.Action.UPDATE_DISPLAY_NAME, this.getHandle())); -@@ -2569,5 +2574,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2583,5 +2588,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public boolean usesPurpurClient() { return getHandle().purpurClient; } @@ -255,7 +255,7 @@ index 8a1cdd256ab8496b9a8e34bf891c1001b2cee082..3e898377b259eb9176772b70a4f3a1b1 // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index c961e81a0e8bc7360f8ef7235c576e6629b67b49..fde15dee7633bad9582fe5d26eee0badf17477cd 100644 +index a596ac346cfbfcb428e995a97d55b74ae8caf87b..0a6de8a3761c3c16b4ff1fb35db5d20a978d8017 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -158,8 +158,16 @@ public class PurpurConfig { @@ -305,7 +305,7 @@ index aa9a7f5cbc5d20192455d0f241a0703f46404ed8..95fd221fab18105fdf3082b48b9cbcc9 public boolean untamedTamablesAreRidable = true; public boolean useNightVisionWhenRiding = false; diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 72400204fbeea41e4af8d3a0d5eef6f2e75e7518..7e1bc869299cd2f382f05bb814946e6841cc845e 100644 +index feec2b3b832fd2c490276e4360fcf6e2b40f01cf..f5eb57fa723941f50b94ed8efb08a47a8da90e4e 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -194,6 +194,7 @@ public class ActivationRange diff --git a/patches/server/0012-Bring-back-server-name.patch b/patches/server/0012-Bring-back-server-name.patch index a1e356d50..9db2c4278 100644 --- a/patches/server/0012-Bring-back-server-name.patch +++ b/patches/server/0012-Bring-back-server-name.patch @@ -17,10 +17,10 @@ index f944e6beafc7876ed9c6923a22f58d82967b77cb..e1c7b7a659e56fa5b3a1f52cb2ccc99b public final boolean spawnNpcs = this.get("spawn-npcs", true); public final boolean pvp = this.get("pvp", true); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index aa9a7cdc4431a803279bb2325e0eaed7579aafd6..6111fd7296e030c1f03137c98439b5cb6d2bddc3 100644 +index 549577e31840ce5f32adb2c0909b915da4362207..196f586380bd458c3f2c47a84dc7e2a36afb94aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2716,4 +2716,11 @@ public final class CraftServer implements Server { +@@ -2817,4 +2817,11 @@ public final class CraftServer implements Server { } // Paper end diff --git a/patches/server/0015-Lagging-threshold.patch b/patches/server/0015-Lagging-threshold.patch index ca8edc070..1bd1dec1a 100644 --- a/patches/server/0015-Lagging-threshold.patch +++ b/patches/server/0015-Lagging-threshold.patch @@ -25,10 +25,10 @@ index 1cb6c989a0b21df7dff72062550daa09721d7687..4d89c9de4b4aae4452750fb941a2e610 } // Spigot end diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 6111fd7296e030c1f03137c98439b5cb6d2bddc3..bfa7be57dbfb31e4a3d53f3138dd9578fbdad617 100644 +index 196f586380bd458c3f2c47a84dc7e2a36afb94aa..98f14ba75b0fed27effc5259eaf62c3fa372df26 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2722,5 +2722,10 @@ public final class CraftServer implements Server { +@@ -2823,5 +2823,10 @@ public final class CraftServer implements Server { public String getServerName() { return this.getProperties().serverName; } @@ -40,7 +40,7 @@ index 6111fd7296e030c1f03137c98439b5cb6d2bddc3..bfa7be57dbfb31e4a3d53f3138dd9578 // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index c428c332cbb9f632b36bc4b6bf7d0767a16e350a..d2b9245a27f62987eb3c073300218020c58361d3 100644 +index 35797b7ed354c08066ecff563bba2c38265421bb..21e072e105a824e97fa713c72dd0b7bca1229870 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -188,6 +188,11 @@ public class PurpurConfig { diff --git a/patches/server/0018-Player-invulnerabilities.patch b/patches/server/0018-Player-invulnerabilities.patch index 19d9ae8f4..5c3eac8c8 100644 --- a/patches/server/0018-Player-invulnerabilities.patch +++ b/patches/server/0018-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 8b904d31dda1bfe1b396126376e2f2020b1b0ab1..2fa918425d007252b3409732ef5868eea8eae4d2 100644 +index 5a52828ea9fd29511f648243da8c46bc1a391434..3fc8b066d7f9ef807ad6a26df86abc40b1b81937 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -255,6 +255,7 @@ public class ServerPlayer extends Player { @@ -82,10 +82,10 @@ index 8b904d31dda1bfe1b396126376e2f2020b1b0ab1..2fa918425d007252b3409732ef5868ee public Scoreboard getScoreboard() { return this.getBukkitEntity().getScoreboard().getHandle(); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index c1bbe2786b98649ae7882a05070f2bdad813d7b4..621f0f75096c89bd050f7e0ede8abcb15536ce70 100644 +index ea3eaa94e853d7d5fd9f220fda6455117fe8697d..41690c6cd2cb787b3c075dcfd9400e711ce8e561 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1879,12 +1879,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1945,12 +1945,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @Override public void handleResourcePackResponse(ServerboundResourcePackPacket packet) { PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); @@ -108,7 +108,7 @@ index c1bbe2786b98649ae7882a05070f2bdad813d7b4..621f0f75096c89bd050f7e0ede8abcb1 this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit // Paper end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 48e78e76d23cc6aff00a1526d53581deebec4c1d..fe1ad78a41d01feaf64b64d0b8585e23d36927bc 100644 +index 6ec5a8a52ec06be917f2ca682f5920ed5ae1a82c..aca10a81a90c7ef81b4167b868f3893a7f67ea62 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -993,6 +993,8 @@ public abstract class PlayerList { @@ -121,10 +121,10 @@ index 48e78e76d23cc6aff00a1526d53581deebec4c1d..fe1ad78a41d01feaf64b64d0b8585e23 return entityplayer1; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3e898377b259eb9176772b70a4f3a1b14d0dca91..2069a834aaab46486025285b97dbb56d30e506a8 100644 +index db49d331e76a0c86515cb06caba8d6e1853c77f4..e251821c59a2a07dc6e1b3f984641a0e549c315a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2589,5 +2589,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2603,5 +2603,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetIdleTimer() { getHandle().resetLastActionTime(); } diff --git a/patches/server/0021-Alternative-Keepalive-Handling.patch b/patches/server/0021-Alternative-Keepalive-Handling.patch index 09492705c..6d28c09f8 100644 --- a/patches/server/0021-Alternative-Keepalive-Handling.patch +++ b/patches/server/0021-Alternative-Keepalive-Handling.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Alternative Keepalive Handling diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 621f0f75096c89bd050f7e0ede8abcb15536ce70..84dfa62acb29fe0ae4343e2a751e0d11ccc37803 100644 +index 41690c6cd2cb787b3c075dcfd9400e711ce8e561..e2975169d6987c3434064c12c62fa70e432a5e91 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -227,6 +227,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -38,7 +38,7 @@ index 621f0f75096c89bd050f7e0ede8abcb15536ce70..84dfa62acb29fe0ae4343e2a751e0d11 if (this.keepAlivePending) { if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info -@@ -3050,6 +3066,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3116,6 +3132,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { @@ -56,7 +56,7 @@ index 621f0f75096c89bd050f7e0ede8abcb15536ce70..84dfa62acb29fe0ae4343e2a751e0d11 if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) { int i = (int) (Util.getMillis() - this.keepAliveTime); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index d2b9245a27f62987eb3c073300218020c58361d3..c8e5db9086c618b97e1712777dcbb7f2e798ca2d 100644 +index 21e072e105a824e97fa713c72dd0b7bca1229870..4baed73f3e5ce88bc3993b2edc7c6bbf572ee448 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -193,6 +193,11 @@ public class PurpurConfig { diff --git a/patches/server/0049-Fix-the-dead-lagging-the-server.patch b/patches/server/0049-Fix-the-dead-lagging-the-server.patch index 30356ca88..f8c32ccd8 100644 --- a/patches/server/0049-Fix-the-dead-lagging-the-server.patch +++ b/patches/server/0049-Fix-the-dead-lagging-the-server.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix the dead lagging the server diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0f34da80fe3dabe264c7cbb894f6f732d068a4b6..b8dbd508a25035e899fbc38643f4b38510688c47 100644 +index 52d8c713a6653f5b28b63a5ad1769a471fe5aaa9..633e41c4b0ab440be6594d892dc6434c19d4fd76 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1650,6 +1650,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1736,6 +1736,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i this.yRotO = this.getYRot(); this.xRotO = this.getXRot(); this.setYHeadRot(yaw); // Paper - Update head rotation @@ -17,7 +17,7 @@ index 0f34da80fe3dabe264c7cbb894f6f732d068a4b6..b8dbd508a25035e899fbc38643f4b385 public void absMoveTo(double x, double y, double z) { diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 5ae294293cd9d813e22d251e567d1fc0929edc49..dfbb53ddf9255351b44259d0016b362a3a4625b3 100644 +index 47d7e28063f94e41724f62c2fa1fc0abe55638e6..be7ff10b8f1e7b44c2c9b67e5db6dd66f2f0dac3 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2896,7 +2896,7 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0050-Skip-events-if-there-s-no-listeners.patch b/patches/server/0050-Skip-events-if-there-s-no-listeners.patch index 05e154cca..5f15fe896 100644 --- a/patches/server/0050-Skip-events-if-there-s-no-listeners.patch +++ b/patches/server/0050-Skip-events-if-there-s-no-listeners.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Skip events if there's no listeners diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index edc202d60ac3e8ac13b61d8c2c82d587567e9c05..2474594f165aff55d4a08ccf0a602203cc908f65 100644 +index f6b73f8c6638ddf79e45042f5c8902ea1f271f5c..5c65301b300867a5319c6da1576c488210923835 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -391,6 +391,7 @@ public class Commands { +@@ -389,6 +389,7 @@ public class Commands { } private void runSync(ServerPlayer player, Collection bukkit, RootCommandNode rootcommandnode) { @@ -16,7 +16,7 @@ index edc202d60ac3e8ac13b61d8c2c82d587567e9c05..2474594f165aff55d4a08ccf0a602203 // Paper end - Async command map building new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent(player.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper PlayerCommandSendEvent event = new PlayerCommandSendEvent(player.getBukkitEntity(), new LinkedHashSet<>(bukkit)); -@@ -403,6 +404,7 @@ public class Commands { +@@ -401,6 +402,7 @@ public class Commands { } } // CraftBukkit end diff --git a/patches/server/0061-Configurable-void-damage-height-and-damage.patch b/patches/server/0061-Configurable-void-damage-height-and-damage.patch index 6abae90a5..9f05fff0f 100644 --- a/patches/server/0061-Configurable-void-damage-height-and-damage.patch +++ b/patches/server/0061-Configurable-void-damage-height-and-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable void damage height and damage diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b8dbd508a25035e899fbc38643f4b38510688c47..0e7f3dbde4e042a5942643b74dd40663d40c39de 100644 +index 633e41c4b0ab440be6594d892dc6434c19d4fd76..66906467235aa24a08eeef43bee0cb79c7bddd8f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -778,7 +778,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -782,7 +782,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i public void checkOutOfWorld() { // Paper start - Configurable nether ceiling damage @@ -18,7 +18,7 @@ index b8dbd508a25035e899fbc38643f4b38510688c47..0e7f3dbde4e042a5942643b74dd40663 && this.getY() >= this.level.paperConfig.netherVoidTopDamageHeight)) { // Paper end diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index dfbb53ddf9255351b44259d0016b362a3a4625b3..2eea21644321fa07950b44cddfe72c4d8f329702 100644 +index be7ff10b8f1e7b44c2c9b67e5db6dd66f2f0dac3..fd5459c77e615db4bc805c58489260270b09d608 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2388,7 +2388,7 @@ public abstract class LivingEntity extends Entity { @@ -31,7 +31,7 @@ index dfbb53ddf9255351b44259d0016b362a3a4625b3..2eea21644321fa07950b44cddfe72c4d protected void updateSwingTime() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6f286a16a91b368bdfd98a738be13ec7e468de30..794c6adf2a4af7fe59b5b1067c1337275b941760 100644 +index 951d908051d8af0f68edef4f7b2d62dacc894f1c..bc84484e8592603c26598a92515eebd3f4f12c89 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -222,10 +222,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0062-Add-canSaveToDisk-to-Entity.patch b/patches/server/0062-Add-canSaveToDisk-to-Entity.patch index b24c51968..12e4f896b 100644 --- a/patches/server/0062-Add-canSaveToDisk-to-Entity.patch +++ b/patches/server/0062-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 0e7f3dbde4e042a5942643b74dd40663d40c39de..7886a095c063978e90d74fb107049d934e7de9aa 100644 +index 66906467235aa24a08eeef43bee0cb79c7bddd8f..b222b9ef83db5bd35f554bc4cefffdb6b4ca4fd3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4240,5 +4240,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -4332,5 +4332,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i public boolean processClick(InteractionHand hand) { return false; } @@ -19,7 +19,7 @@ index 0e7f3dbde4e042a5942643b74dd40663d40c39de..7886a095c063978e90d74fb107049d93 // Purpur end } diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 098006e9d5c840db604be8603d465c2c43d56547..b106e046eaadd99dce3b48b222f29d57efe12f66 100644 +index 19f48278c5c8f9640683d61b9555074e140fa2ab..9a0a5da86e0502382cb538d6abea8e425e40dddc 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java @@ -204,6 +204,11 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -35,7 +35,7 @@ index 098006e9d5c840db604be8603d465c2c43d56547..b106e046eaadd99dce3b48b222f29d57 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 bc46fdff45b174d9c266d1b6b546061a39b4997d..bc6d523d6d2449b7590ad318e299e770fe62931d 100644 +index fec7d5c6a7b7a20ac9aecec1d3187f5c61fc430c..d4fd425c934e1e033d9aefda66958c864c11ea7d 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 { @@ -47,7 +47,7 @@ index bc46fdff45b174d9c266d1b6b546061a39b4997d..bc6d523d6d2449b7590ad318e299e770 final EntityType entityType = entity.getType(); final int saveLimit = this.level.paperConfig.entityPerChunkSaveLimits.getOrDefault(entityType, -1); diff --git a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java -index fda24d4ecff91cc28d2a7a45fbb55ea734261153..3cabafb00c293cbbcc60a0cc98479c2d62ddaa2d 100644 +index d55f7611599b2a339293688861100cb8dae9f6c6..5e99789e5156e8ffbf125e77114c547e1f8e7925 100644 --- a/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java +++ b/src/main/java/org/purpurmc/purpur/entity/DolphinSpit.java @@ -35,6 +35,11 @@ public class DolphinSpit extends LlamaSpit { @@ -63,7 +63,7 @@ index fda24d4ecff91cc28d2a7a45fbb55ea734261153..3cabafb00c293cbbcc60a0cc98479c2d super_tick(); diff --git a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java -index b196bee2ea6e67897b367d2be1800f16a89a6167..d8a9f3296c46f12e156f1611811cb55470703b03 100644 +index 2eca8317e991ec46cc88a4c7d6d8b50152ba4ea7..b6a594cd6b08c687cf51c2f5494297ef96ec4b92 100644 --- a/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java +++ b/src/main/java/org/purpurmc/purpur/entity/PhantomFlames.java @@ -38,6 +38,11 @@ public class PhantomFlames extends LlamaSpit { diff --git a/patches/server/0066-Add-5-second-tps-average-in-tps.patch b/patches/server/0066-Add-5-second-tps-average-in-tps.patch index 14cdcad65..a77fb4ba7 100644 --- a/patches/server/0066-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0066-Add-5-second-tps-average-in-tps.patch @@ -69,10 +69,10 @@ index 55067e47a9907f038bf77f5dda2f395773472ceb..70dfa4d3b7a2c9b2a47000bf26100f17 lagging = recentTps[0] < org.purpurmc.purpur.PurpurConfig.laggingThreshold; // Purpur tickSection = curTime; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index bfa7be57dbfb31e4a3d53f3138dd9578fbdad617..ad2f47668c61e8e0023da8349c5fcec28b46b32f 100644 +index 98f14ba75b0fed27effc5259eaf62c3fa372df26..d397daf9a6b2128735a0732565a41be9197742a4 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2504,6 +2504,7 @@ public final class CraftServer implements Server { +@@ -2605,6 +2605,7 @@ public final class CraftServer implements Server { @Override public double[] getTPS() { return new double[] { diff --git a/patches/server/0078-Allow-color-codes-in-books.patch b/patches/server/0078-Allow-color-codes-in-books.patch index b94bd105a..593610307 100644 --- a/patches/server/0078-Allow-color-codes-in-books.patch +++ b/patches/server/0078-Allow-color-codes-in-books.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow color codes in books diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index bb0f8dbc0746283ff7670dee24dd932254aeec0d..6627214ddab3a8b7080ead964a44a367b0c34a05 100644 +index e2975169d6987c3434064c12c62fa70e432a5e91..b754eda13b99ddc529ef62bf591dd35758c346d0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1185,13 +1185,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1218,13 +1218,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser itemstack1.setTag(nbttagcompound.copy()); } @@ -28,7 +28,7 @@ index bb0f8dbc0746283ff7670dee24dd932254aeec0d..6627214ddab3a8b7080ead964a44a367 this.updateBookPages(pages, (s) -> { return Component.Serializer.toJson(new TextComponent(s)); -@@ -1203,10 +1206,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1236,10 +1239,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser private void updateBookPages(List list, UnaryOperator unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit ListTag nbttaglist = new ListTag(); @@ -44,7 +44,7 @@ index bb0f8dbc0746283ff7670dee24dd932254aeec0d..6627214ddab3a8b7080ead964a44a367 Objects.requireNonNull(nbttaglist); stream.forEach(nbttaglist::add); -@@ -1216,10 +1222,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1249,10 +1255,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser for (int j = list.size(); i < j; ++i) { TextFilter.FilteredText itextfilter_a = (TextFilter.FilteredText) list.get(i); @@ -57,7 +57,7 @@ index bb0f8dbc0746283ff7670dee24dd932254aeec0d..6627214ddab3a8b7080ead964a44a367 if (!s.equals(s1)) { nbttagcompound.putString(String.valueOf(i), (String) unaryoperator.apply(s1)); -@@ -1235,6 +1241,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1268,6 +1274,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.player.getInventory().setItem(slot, CraftEventFactory.handleEditBookEvent(player, slot, handItem, itemstack)); // CraftBukkit // Paper - Don't ignore result (see other callsite for handleEditBookEvent) } diff --git a/patches/server/0092-Stop-squids-floating-on-top-of-water.patch b/patches/server/0092-Stop-squids-floating-on-top-of-water.patch index 28fd9c981..848cf89dc 100644 --- a/patches/server/0092-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0092-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 7886a095c063978e90d74fb107049d934e7de9aa..a12058f714b7f3ccb8f7121ac242af5bb2d4911e 100644 +index b222b9ef83db5bd35f554bc4cefffdb6b4ca4fd3..857cf10a34fce177816b74bb9c29a7202c5acafd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3793,6 +3793,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3880,6 +3880,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i this.yRotO = this.getYRot(); } @@ -22,7 +22,7 @@ index 7886a095c063978e90d74fb107049d934e7de9aa..a12058f714b7f3ccb8f7121ac242af5b if (this.touchingUnloadedChunk()) { return false; diff --git a/src/main/java/net/minecraft/world/entity/animal/Squid.java b/src/main/java/net/minecraft/world/entity/animal/Squid.java -index bb3792988864bb5fe7841c2cbdb583cb8e6fa489..82d657e431a5a2317e5be80f3b2898a5c7371a42 100644 +index 501b082e36b30140eef9540b8b217b9d45309dff..55f94d28a536f5ceda00831e1b22c8db31c07c2f 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Squid.java +++ b/src/main/java/net/minecraft/world/entity/animal/Squid.java @@ -76,6 +76,12 @@ public class Squid extends WaterAnimal { @@ -39,10 +39,10 @@ index bb3792988864bb5fe7841c2cbdb583cb8e6fa489..82d657e431a5a2317e5be80f3b2898a5 @Override diff --git a/src/main/java/net/minecraft/world/phys/AABB.java b/src/main/java/net/minecraft/world/phys/AABB.java -index 120498a39b7ca7aee9763084507508d4a1c425aa..0dfc639043998cd3bd32afaaf8153459172cc9f9 100644 +index 68cc6f2a78a06293a29317fda72ab3ee79b3533a..cfb2e46b34b2982d6724f18214557fc80cf4adfa 100644 --- a/src/main/java/net/minecraft/world/phys/AABB.java +++ b/src/main/java/net/minecraft/world/phys/AABB.java -@@ -356,4 +356,10 @@ public class AABB { +@@ -367,4 +367,10 @@ public class AABB { public static AABB ofSize(Vec3 center, double dx, double dy, double dz) { return new AABB(center.x - dx / 2.0D, center.y - dy / 2.0D, center.z - dz / 2.0D, center.x + dx / 2.0D, center.y + dy / 2.0D, center.z + dz / 2.0D); } @@ -54,7 +54,7 @@ index 120498a39b7ca7aee9763084507508d4a1c425aa..0dfc639043998cd3bd32afaaf8153459 + // Purpur } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4f35036bb4dc7a6325e7a35f1623139da39e31d9..65ce3df6703f11bb77e4b8687b035b83cc7b8dd3 100644 +index aaae42f112940aa85ffd0106d461e291f37f5592..8de98d7c875e8b0e0ba3877a8a0937f97afa77f1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -1310,6 +1310,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0094-Entities-can-use-portals-configuration.patch b/patches/server/0094-Entities-can-use-portals-configuration.patch index d714d1f70..941de039a 100644 --- a/patches/server/0094-Entities-can-use-portals-configuration.patch +++ b/patches/server/0094-Entities-can-use-portals-configuration.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a12058f714b7f3ccb8f7121ac242af5bb2d4911e..48cf0a22ff28c7e2ce87c7fcb5ceafac031f0038 100644 +index 857cf10a34fce177816b74bb9c29a7202c5acafd..4ae2040d17f1a8c413c02996621d41c8641581f3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2629,7 +2629,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2716,7 +2716,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i public void handleInsidePortal(BlockPos pos) { if (this.isOnPortalCooldown()) { this.setPortalCooldown(); @@ -17,7 +17,7 @@ index a12058f714b7f3ccb8f7121ac242af5bb2d4911e..48cf0a22ff28c7e2ce87c7fcb5ceafac if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) { this.portalEntrancePos = pos.immutable(); } -@@ -3282,7 +3282,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -3369,7 +3369,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } public boolean canChangeDimensions() { @@ -27,7 +27,7 @@ index a12058f714b7f3ccb8f7121ac242af5bb2d4911e..48cf0a22ff28c7e2ce87c7fcb5ceafac public float getBlockExplosionResistance(Explosion explosion, BlockGetter world, BlockPos pos, BlockState blockState, FluidState fluidState, float max) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 65ce3df6703f11bb77e4b8687b035b83cc7b8dd3..f6eafc276ae98430dee2ab65897e201136d1d285 100644 +index 8de98d7c875e8b0e0ba3877a8a0937f97afa77f1..c668ec20aad764a6d09c1bdd578f09dfd94000cb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -287,6 +287,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0104-Stonecutter-damage.patch b/patches/server/0104-Stonecutter-damage.patch index b8aad3696..119d23f7e 100644 --- a/patches/server/0104-Stonecutter-damage.patch +++ b/patches/server/0104-Stonecutter-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Stonecutter damage diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 48cf0a22ff28c7e2ce87c7fcb5ceafac031f0038..1d5ab54742ee9818ffd8cf1687e89269f449e6c4 100644 +index 4ae2040d17f1a8c413c02996621d41c8641581f3..15e25843ba5bea971d7a844fbd8adb8b483001da 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1019,7 +1019,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1024,7 +1024,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } // CraftBukkit end @@ -61,7 +61,7 @@ index 5e28c09d782166be6d0fbc6778ef9f6c4d7af409..ce891b7d8e5cbc956c28b8bb8c5c9976 } else if (blockState.is(Blocks.HONEY_BLOCK)) { return BlockPathTypes.STICKY_HONEY; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dfae718aa318ecceea7efee1d2b1c85ebfd85256..eed7ae9bc36120e05a48c5f1c1ef61c101b720ef 100644 +index 869db4be87334e6281d0b9dc8ae2496090fe7da1..26d46c07b483144911cb404809ad9873517ea4b3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -443,6 +443,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0112-Apply-display-names-from-item-forms-of-entities-to-e.patch b/patches/server/0112-Apply-display-names-from-item-forms-of-entities-to-e.patch index 33d26ceb3..a046cf1cc 100644 --- a/patches/server/0112-Apply-display-names-from-item-forms-of-entities-to-e.patch +++ b/patches/server/0112-Apply-display-names-from-item-forms-of-entities-to-e.patch @@ -25,10 +25,10 @@ index dc1630a1a769f848059f576c3d1220a216b5465c..50370dc8697569a4e5cf8ec3714d227a } diff --git a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java -index 30159f4f387b61b50589fad61f91c9e5a4adaf12..c8eaed6acd6b8bd47b7943ce0d61b20991899099 100644 +index 0f8513ee6f56148cf63f4cd6a60acb7f70280ff1..e4c8b622cf3c7c57ada4c2e20a4b4a0f0b17de12 100644 --- a/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java +++ b/src/main/java/net/minecraft/world/entity/decoration/ItemFrame.java -@@ -257,7 +257,13 @@ public class ItemFrame extends HangingEntity { +@@ -265,7 +265,13 @@ public class ItemFrame extends HangingEntity { } if (alwaysDrop) { @@ -142,7 +142,7 @@ index 0284201b0bb0f5c9a4a2393cf0d83e8e21262df3..1f46a2be362ed5f60a7ca75916fe7bd4 if (((HangingEntity) object).survives()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 92f303aa5122183073abf2043c0ed3cb54fbc782..02842e0a9e8f2548c5ebdadfab681183d6e63320 100644 +index 2579328634137f1a561e1ee4b389e048ffb40335..8bdf5d269988d690cddd0d370fddae14ac14ef9b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -101,8 +101,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0116-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch b/patches/server/0114-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch similarity index 88% rename from patches/server/0116-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch rename to patches/server/0114-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch index 4748848b5..7d55cabd8 100644 --- a/patches/server/0116-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch +++ b/patches/server/0114-Add-config-for-allowing-Endermen-to-despawn-even-whi.patch @@ -8,7 +8,7 @@ This should help to reduce the amount of dirt, gravel, grass, and etc. that Endermen like to randomly place all over the world. diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index 490b8d674a0f1ae75de89fcadb2894da55c32d4e..28d2ccc6b29b17a99a2828d044259adafa10922c 100644 +index 37e71377ead8d3fd98ff6f6d643d31042944b43f..cc4009934d279e15a6a1d30dbea45fda1f6310e8 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java @@ -453,7 +453,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -21,10 +21,10 @@ index 490b8d674a0f1ae75de89fcadb2894da55c32d4e..28d2ccc6b29b17a99a2828d044259ada private static class EndermanFreezeWhenLookedAt extends Goal { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dd9d39ed0fe3a170e6b024fd42e5c99d9312e410..63aad596da417b9e13a8a157408ac91e79d1048e 100644 +index 7db83bf46fa0969d9fe099caa20e10b30095ef26..b948affb050573a2cd27d2c600f8ff2b07b371a1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -785,6 +785,7 @@ public class PurpurWorldConfig { +@@ -759,6 +759,7 @@ public class PurpurWorldConfig { public boolean endermanRidableInWater = false; public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; @@ -32,7 +32,7 @@ index dd9d39ed0fe3a170e6b024fd42e5c99d9312e410..63aad596da417b9e13a8a157408ac91e private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -795,6 +796,7 @@ public class PurpurWorldConfig { +@@ -769,6 +770,7 @@ public class PurpurWorldConfig { } endermanMaxHealth = getDouble("mobs.enderman.attributes.max_health", endermanMaxHealth); endermanAllowGriefing = getBoolean("mobs.enderman.allow-griefing", endermanAllowGriefing); diff --git a/patches/server/0114-Add-twisting-and-weeping-vines-growth-rates.patch b/patches/server/0114-Add-twisting-and-weeping-vines-growth-rates.patch deleted file mode 100644 index ec50c43c9..000000000 --- a/patches/server/0114-Add-twisting-and-weeping-vines-growth-rates.patch +++ /dev/null @@ -1,116 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: William Blake Galbreath -Date: Sun, 22 Nov 2020 06:02:32 -0600 -Subject: [PATCH] Add twisting and weeping vines growth rates - - -diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java -index 87dabe3c80b48bff52f2e3dbbaceb37a1a21e431..966fd0ecff8a0fa8a08edaeaad899ff13f8106f3 100644 ---- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java -@@ -80,4 +80,10 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl - public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) { - world.setBlock(pos, (BlockState) state.setValue(CaveVinesBlock.BERRIES, true), 2); - } -+ -+ // Purpur start -+ public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) { -+ return world.purpurConfig.caveVinesGrowthModifier; -+ } -+ // Purpur end - } -diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java -index def3b62feada5cebae4049883fa967b12f6f32b4..c4ba28ea8f73092c85b08bbec0d9197f2983ce23 100644 ---- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java -@@ -38,9 +38,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements - return (Integer) state.getValue(GrowingPlantHeadBlock.AGE) < 25; - } - -+ public abstract double getGrowthModifier(ServerLevel world); // Purpur -+ - @Override - public void randomTick(BlockState state, ServerLevel world, BlockPos pos, Random random) { -- if ((Integer) state.getValue(GrowingPlantHeadBlock.AGE) < 25 && random.nextDouble() < (100.0D / world.spigotConfig.kelpModifier) * this.growPerTickProbability) { // Spigot -+ if (state.getValue(GrowingPlantHeadBlock.AGE) < 25 && random.nextDouble() < (100.0D / this.getGrowthModifier(world)) * this.growPerTickProbability) { // Spigot // Purpur - BlockPos blockposition1 = pos.relative(this.growthDirection); - - if (this.canGrowInto(world.getBlockState(blockposition1))) { -diff --git a/src/main/java/net/minecraft/world/level/block/KelpBlock.java b/src/main/java/net/minecraft/world/level/block/KelpBlock.java -index 2bd5db55656c9ace95ad5ffdc4a6d07daa0948e4..5f9a8dd6b4f7c9285ffcce8bbe0e334a28cc9699 100644 ---- a/src/main/java/net/minecraft/world/level/block/KelpBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/KelpBlock.java -@@ -64,4 +64,10 @@ public class KelpBlock extends GrowingPlantHeadBlock implements LiquidBlockConta - public FluidState getFluidState(BlockState state) { - return Fluids.WATER.getSource(false); - } -+ -+ // Purpur start -+ public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) { -+ return world.spigotConfig.kelpModifier; -+ } -+ // Purpur end - } -diff --git a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java -index bc9813ad36d95d90eafe51afa27857937b6eecc6..c877f7e4e55c63d91ce58c15850e279be3e159a7 100644 ---- a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java -@@ -27,4 +27,10 @@ public class TwistingVinesBlock extends GrowingPlantHeadBlock { - protected boolean canGrowInto(BlockState state) { - return NetherVines.isValidGrowthState(state); - } -+ -+ // Purpur start -+ public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) { -+ return world.purpurConfig.twistingVinesGrowthModifier; -+ } -+ // Purpur end - } -diff --git a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java -index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..d2cb1a7e7ea364cb8e2af4c4e756d8e45bc0ca10 100644 ---- a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java -@@ -27,4 +27,10 @@ public class WeepingVinesBlock extends GrowingPlantHeadBlock { - protected boolean canGrowInto(BlockState state) { - return NetherVines.isValidGrowthState(state); - } -+ -+ // Purpur start -+ public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) { -+ return world.purpurConfig.weepingVinesGrowthModifier; -+ } -+ // Purpur end - } -diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index daf9c24425e3ecc8d9e8c3147842ea316d414788..b1a47a8bc3a23b2f214efb1caca0bba1364c41ad 100644 ---- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -402,6 +402,11 @@ public class PurpurWorldConfig { - } - } - -+ public double caveVinesGrowthModifier = 0.10D; -+ private void caveVinesSettings() { -+ caveVinesGrowthModifier = getDouble("blocks.cave_vines.growth-modifier", caveVinesGrowthModifier); -+ } -+ - public boolean dispenserApplyCursedArmor = true; - public boolean dispenserPlaceAnvils = false; - private void dispenserSettings() { -@@ -476,6 +481,16 @@ public class PurpurWorldConfig { - stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage); - } - -+ public double twistingVinesGrowthModifier = 0.10D; -+ private void twistingVinesSettings() { -+ twistingVinesGrowthModifier = getDouble("blocks.twisting_vines.growth-modifier", twistingVinesGrowthModifier); -+ } -+ -+ public double weepingVinesGrowthModifier = 0.10D; -+ private void weepingVinesSettings() { -+ weepingVinesGrowthModifier = getDouble("blocks.weeping_vines.growth-modifier", weepingVinesGrowthModifier); -+ } -+ - public boolean babiesAreRidable = true; - public boolean untamedTamablesAreRidable = true; - public boolean useNightVisionWhenRiding = false; diff --git a/patches/server/0117-Add-configurable-snowball-damage.patch b/patches/server/0115-Add-configurable-snowball-damage.patch similarity index 95% rename from patches/server/0117-Add-configurable-snowball-damage.patch rename to patches/server/0115-Add-configurable-snowball-damage.patch index 62d5b637d..191e3844e 100644 --- a/patches/server/0117-Add-configurable-snowball-damage.patch +++ b/patches/server/0115-Add-configurable-snowball-damage.patch @@ -18,7 +18,7 @@ index ed2f039c4042861bcfa2e41d8281eefd37daa9fa..d5d84893c77b4e60a19032d765d76bfd } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 63aad596da417b9e13a8a157408ac91e79d1048e..e034ffef119e36e8beee125bfdaa821aba63fcaf 100644 +index b948affb050573a2cd27d2c600f8ff2b07b371a1..fdf7291b8b6f8963bba2d579f28f8520adcd9dc2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -295,6 +295,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0115-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch b/patches/server/0115-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch deleted file mode 100644 index 83009b3ae..000000000 --- a/patches/server/0115-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch +++ /dev/null @@ -1,149 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: William Blake Galbreath -Date: Sun, 22 Nov 2020 20:13:27 -0600 -Subject: [PATCH] Kelp weeping and twisting vines configurable max growth age - - -diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java -index 966fd0ecff8a0fa8a08edaeaad899ff13f8106f3..54f4683b7ad69f6bfb2e2b19842f0a418b20359a 100644 ---- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java -@@ -85,5 +85,9 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl - public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) { - return world.purpurConfig.caveVinesGrowthModifier; - } -+ -+ public int getMaxGrowthAge(net.minecraft.server.level.ServerLevel world) { -+ return world.purpurConfig.caveVinesMaxGrowthAge; -+ } - // Purpur end - } -diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java -index c4ba28ea8f73092c85b08bbec0d9197f2983ce23..1914a145005dd2c44ac66efb313ac7837238f29b 100644 ---- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java -@@ -30,7 +30,7 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements - - @Override - public BlockState getStateForPlacement(LevelAccessor world) { -- return (BlockState) this.defaultBlockState().setValue(GrowingPlantHeadBlock.AGE, world.getRandom().nextInt(25)); -+ return (BlockState) this.defaultBlockState().setValue(GrowingPlantHeadBlock.AGE, world.getRandom().nextInt(getMaxGrowthAge(world.getMinecraftWorld()))); // Purpur - } - - @Override -@@ -40,9 +40,11 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements - - public abstract double getGrowthModifier(ServerLevel world); // Purpur - -+ public abstract int getMaxGrowthAge(ServerLevel world); // Purpur -+ - @Override - public void randomTick(BlockState state, ServerLevel world, BlockPos pos, Random random) { -- if (state.getValue(GrowingPlantHeadBlock.AGE) < 25 && random.nextDouble() < (100.0D / this.getGrowthModifier(world)) * this.growPerTickProbability) { // Spigot // Purpur -+ if (state.getValue(GrowingPlantHeadBlock.AGE) < getMaxGrowthAge(world) && random.nextDouble() < (100.0D / this.getGrowthModifier(world)) * this.growPerTickProbability) { // Spigot // Purpur - BlockPos blockposition1 = pos.relative(this.growthDirection); - - if (this.canGrowInto(world.getBlockState(blockposition1))) { -@@ -103,13 +105,13 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements - @Override - public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) { - BlockPos blockposition1 = pos.relative(this.growthDirection); -- int i = Math.min((Integer) state.getValue(GrowingPlantHeadBlock.AGE) + 1, 25); -+ int i = Math.min((Integer) state.getValue(GrowingPlantHeadBlock.AGE) + 1, getMaxGrowthAge(world)); // Purpur - int j = this.getBlocksToGrowWhenBonemealed(random); - - for (int k = 0; k < j && this.canGrowInto(world.getBlockState(blockposition1)); ++k) { - world.setBlockAndUpdate(blockposition1, (BlockState) state.setValue(GrowingPlantHeadBlock.AGE, i)); - blockposition1 = blockposition1.relative(this.growthDirection); -- i = Math.min(i + 1, 25); -+ i = Math.min(i + 1, getMaxGrowthAge(world)); // Purpur - } - - } -diff --git a/src/main/java/net/minecraft/world/level/block/KelpBlock.java b/src/main/java/net/minecraft/world/level/block/KelpBlock.java -index 5f9a8dd6b4f7c9285ffcce8bbe0e334a28cc9699..486a62617b594b66341fb9ef2f88c3f328cb943d 100644 ---- a/src/main/java/net/minecraft/world/level/block/KelpBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/KelpBlock.java -@@ -69,5 +69,9 @@ public class KelpBlock extends GrowingPlantHeadBlock implements LiquidBlockConta - public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) { - return world.spigotConfig.kelpModifier; - } -+ -+ public int getMaxGrowthAge(net.minecraft.server.level.ServerLevel world) { -+ return world.purpurConfig.kelpMaxGrowthAge; -+ } - // Purpur end - } -diff --git a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java -index c877f7e4e55c63d91ce58c15850e279be3e159a7..c8ca3b9da2df89540a80c08042ca9aee28f274ea 100644 ---- a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java -@@ -32,5 +32,9 @@ public class TwistingVinesBlock extends GrowingPlantHeadBlock { - public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) { - return world.purpurConfig.twistingVinesGrowthModifier; - } -+ -+ public int getMaxGrowthAge(net.minecraft.server.level.ServerLevel world) { -+ return world.purpurConfig.twistingVinesMaxGrowthAge; -+ } - // Purpur end - } -diff --git a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java -index d2cb1a7e7ea364cb8e2af4c4e756d8e45bc0ca10..bb99dda3c5167f23b2500a1f37cbc1ca285f123a 100644 ---- a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java -+++ b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java -@@ -32,5 +32,9 @@ public class WeepingVinesBlock extends GrowingPlantHeadBlock { - public double getGrowthModifier(net.minecraft.server.level.ServerLevel world) { - return world.purpurConfig.weepingVinesGrowthModifier; - } -+ -+ public int getMaxGrowthAge(net.minecraft.server.level.ServerLevel world) { -+ return world.purpurConfig.weepingVinesMaxGrowthAge; -+ } - // Purpur end - } -diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b1a47a8bc3a23b2f214efb1caca0bba1364c41ad..dd9d39ed0fe3a170e6b024fd42e5c99d9312e410 100644 ---- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -+++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -403,8 +403,10 @@ public class PurpurWorldConfig { - } - - public double caveVinesGrowthModifier = 0.10D; -+ public int caveVinesMaxGrowthAge = 25; - private void caveVinesSettings() { - caveVinesGrowthModifier = getDouble("blocks.cave_vines.growth-modifier", caveVinesGrowthModifier); -+ caveVinesMaxGrowthAge = getInt("blocks.cave_vines.max-growth-age", caveVinesMaxGrowthAge); - } - - public boolean dispenserApplyCursedArmor = true; -@@ -450,6 +452,11 @@ public class PurpurWorldConfig { - waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources); - } - -+ public int kelpMaxGrowthAge = 25; -+ private void kelpSettings() { -+ kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge); -+ } -+ - public boolean respawnAnchorExplode = true; - public double respawnAnchorExplosionPower = 5.0D; - public boolean respawnAnchorExplosionFire = true; -@@ -482,13 +489,17 @@ public class PurpurWorldConfig { - } - - public double twistingVinesGrowthModifier = 0.10D; -+ public int twistingVinesMaxGrowthAge = 25; - private void twistingVinesSettings() { - twistingVinesGrowthModifier = getDouble("blocks.twisting_vines.growth-modifier", twistingVinesGrowthModifier); -+ twistingVinesMaxGrowthAge = getInt("blocks.twisting_vines.max-growth-age", twistingVinesMaxGrowthAge); - } - - public double weepingVinesGrowthModifier = 0.10D; -+ public int weepingVinesMaxGrowthAge = 25; - private void weepingVinesSettings() { - weepingVinesGrowthModifier = getDouble("blocks.weeping_vines.growth-modifier", weepingVinesGrowthModifier); -+ weepingVinesMaxGrowthAge = getInt("blocks.weeping_vines.max-growth-age", weepingVinesMaxGrowthAge); - } - - public boolean babiesAreRidable = true; diff --git a/patches/server/0118-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0116-Changeable-Mob-Left-Handed-Chance.patch similarity index 90% rename from patches/server/0118-Changeable-Mob-Left-Handed-Chance.patch rename to patches/server/0116-Changeable-Mob-Left-Handed-Chance.patch index 3bc328d5e..231fa3b37 100644 --- a/patches/server/0118-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0116-Changeable-Mob-Left-Handed-Chance.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Changeable Mob Left Handed Chance diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 198fe041d20e7ed21b47d5c22dcc121a8d388623..6a8347ceefd663066de5887fef8ebc82b30a1b93 100644 +index eea702d4d62583f3fba646a260e3299de3f80366..7b67e1febe49fced5507db87f9269007680d8c9b 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -1223,7 +1223,7 @@ public abstract class Mob extends LivingEntity { @@ -18,7 +18,7 @@ index 198fe041d20e7ed21b47d5c22dcc121a8d388623..6a8347ceefd663066de5887fef8ebc82 } else { this.setLeftHanded(false); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e034ffef119e36e8beee125bfdaa821aba63fcaf..b58de3cc86dbeae9fc4fa612f46ef9b75432965c 100644 +index fdf7291b8b6f8963bba2d579f28f8520adcd9dc2..549c23b75167ddb655aec861a978be52047bb77b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -130,8 +130,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0119-Add-boat-fall-damage-config.patch b/patches/server/0117-Add-boat-fall-damage-config.patch similarity index 94% rename from patches/server/0119-Add-boat-fall-damage-config.patch rename to patches/server/0117-Add-boat-fall-damage-config.patch index 7df01519f..9a7994e26 100644 --- a/patches/server/0119-Add-boat-fall-damage-config.patch +++ b/patches/server/0117-Add-boat-fall-damage-config.patch @@ -5,7 +5,7 @@ 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 80a57d726ee663aa37a3b93c883f835a2ebc765e..e07095a3ed1af5a8bb7715c264535ae952e264d9 100644 +index 637313c0c4257b2986054f32dfbeead5c8f0a603..bb392c810776264b08db6588ed9253a5aadef021 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1018,7 +1018,16 @@ public class ServerPlayer extends Player { @@ -27,7 +27,7 @@ index 80a57d726ee663aa37a3b93c883f835a2ebc765e..e07095a3ed1af5a8bb7715c264535ae9 if (!flag && isSpawnInvulnerable() && source != DamageSource.OUT_OF_WORLD) { // Purpur diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b58de3cc86dbeae9fc4fa612f46ef9b75432965c..ff2ad3f56afa0828037adc27c5f36c555269fc67 100644 +index 549c23b75167ddb655aec861a978be52047bb77b..58f2147c9807119a77ec48f195a70de8c01b4773 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -365,6 +365,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0120-Snow-Golem-rate-of-fire-config.patch b/patches/server/0118-Snow-Golem-rate-of-fire-config.patch similarity index 94% rename from patches/server/0120-Snow-Golem-rate-of-fire-config.patch rename to patches/server/0118-Snow-Golem-rate-of-fire-config.patch index e41d1cb14..af963909c 100644 --- a/patches/server/0120-Snow-Golem-rate-of-fire-config.patch +++ b/patches/server/0118-Snow-Golem-rate-of-fire-config.patch @@ -23,10 +23,10 @@ index a9c1b07f23c604d9364ccdee9478baf137af0816..10d68856c98b705158fe90623ef2b9ad this.goalSelector.addGoal(3, new LookAtPlayerGoal(this, Player.class, 6.0F)); this.goalSelector.addGoal(4, new RandomLookAroundGoal(this)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5b6cb4c752a332a33e8cefa2c46a7ef76fea01c2..372c04499fb4adfd99560f8e227ef0b139643a0e 100644 +index 58f2147c9807119a77ec48f195a70de8c01b4773..67c5d1450e755532c54213e3aa9b4db744637496 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1468,6 +1468,10 @@ public class PurpurWorldConfig { +@@ -1442,6 +1442,10 @@ public class PurpurWorldConfig { public double snowGolemMaxHealth = 4.0D; public boolean snowGolemDropsPumpkin = true; public boolean snowGolemPutPumpkinBack = false; @@ -37,7 +37,7 @@ index 5b6cb4c752a332a33e8cefa2c46a7ef76fea01c2..372c04499fb4adfd99560f8e227ef0b1 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1480,6 +1484,10 @@ public class PurpurWorldConfig { +@@ -1454,6 +1458,10 @@ public class PurpurWorldConfig { snowGolemMaxHealth = getDouble("mobs.snow_golem.attributes.max_health", snowGolemMaxHealth); snowGolemDropsPumpkin = getBoolean("mobs.snow_golem.drop-pumpkin-when-sheared", snowGolemDropsPumpkin); snowGolemPutPumpkinBack = getBoolean("mobs.snow_golem.pumpkin-can-be-added-back", snowGolemPutPumpkinBack); diff --git a/patches/server/0121-EMC-Configurable-disable-give-dropping.patch b/patches/server/0119-EMC-Configurable-disable-give-dropping.patch similarity index 95% rename from patches/server/0121-EMC-Configurable-disable-give-dropping.patch rename to patches/server/0119-EMC-Configurable-disable-give-dropping.patch index 69afe6ed7..81ca1ca27 100644 --- a/patches/server/0121-EMC-Configurable-disable-give-dropping.patch +++ b/patches/server/0119-EMC-Configurable-disable-give-dropping.patch @@ -20,7 +20,7 @@ index a0dc380e90415de9068ea408d62a1605c82631df..fcd65feb5182b806b9aa8ecdcf11b386 itemStack.setCount(1); ItemEntity itemEntity2 = serverPlayer.drop(itemStack, false, false, true); // Paper - Fix duplicating /give items on item drop cancel diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 8ec92ddf6373638ec2af2b8361e97ecb8b56993a..d892734595f70f446919d89de967a10c87c687d6 100644 +index 14812231bfa1a48e622de8281e55661b857c56c7..e654f940f0c6cf6b6bc0cbcfd8d440df5375a8de 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -204,6 +204,11 @@ public class PurpurConfig { diff --git a/patches/server/0122-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch b/patches/server/0120-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch similarity index 98% rename from patches/server/0122-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch rename to patches/server/0120-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch index b357f647f..55b0e94d7 100644 --- a/patches/server/0122-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch +++ b/patches/server/0120-Option-for-Villager-Clerics-to-farm-Nether-Wart.patch @@ -145,7 +145,7 @@ index b615dc2a2127f0874775d1707e96edfb4d95b987..72ae6b3282aac806ae11b87024ee940e brain.setMemory(MemoryModuleType.SECONDARY_JOB_SITE, list); } else { diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 145607300ed953e88b0f9fc1fc61bc34a6c92f84..5292f5f164f2c1bc1aa0ce920bee5afdcc0d2dde 100644 +index 4e26e288a5bccd778a405b95f3a1d61931a398d1..2c9f0dc3db951befa9152c6fe17a5c5a788df774 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -215,7 +215,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -183,10 +183,10 @@ index 901fc6520d58a5fa5f2cf1b4fa78fec6008aa409..9050cd25663c71197c597aac0ab2e612 public static final VillagerProfession FISHERMAN = register("fisherman", PoiType.FISHERMAN, SoundEvents.VILLAGER_WORK_FISHERMAN); public static final VillagerProfession FLETCHER = register("fletcher", PoiType.FLETCHER, SoundEvents.VILLAGER_WORK_FLETCHER); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f7d9795f163d44c95a2ff6c883c3b1f7f1a34bcf..459f48b3bf3667b6768a05496b9fb564ed1af09d 100644 +index 67c5d1450e755532c54213e3aa9b4db744637496..43152f0e2565ee8a2487ca98ef7a1f0804456c57 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1641,6 +1641,8 @@ public class PurpurWorldConfig { +@@ -1615,6 +1615,8 @@ public class PurpurWorldConfig { public int villagerSpawnIronGolemLimit = 0; public boolean villagerCanBreed = true; public int villagerBreedingTicks = 6000; @@ -195,7 +195,7 @@ index f7d9795f163d44c95a2ff6c883c3b1f7f1a34bcf..459f48b3bf3667b6768a05496b9fb564 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1658,6 +1660,8 @@ public class PurpurWorldConfig { +@@ -1632,6 +1634,8 @@ public class PurpurWorldConfig { villagerSpawnIronGolemLimit = getInt("mobs.villager.spawn-iron-golem.limit", villagerSpawnIronGolemLimit); villagerCanBreed = getBoolean("mobs.villager.can-breed", villagerCanBreed); villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); diff --git a/patches/server/0123-Toggle-for-Zombified-Piglin-death-always-counting-as.patch b/patches/server/0121-Toggle-for-Zombified-Piglin-death-always-counting-as.patch similarity index 94% rename from patches/server/0123-Toggle-for-Zombified-Piglin-death-always-counting-as.patch rename to patches/server/0121-Toggle-for-Zombified-Piglin-death-always-counting-as.patch index fc03acb73..2556697d8 100644 --- a/patches/server/0123-Toggle-for-Zombified-Piglin-death-always-counting-as.patch +++ b/patches/server/0121-Toggle-for-Zombified-Piglin-death-always-counting-as.patch @@ -35,10 +35,10 @@ index 76f1bbec2b8ebe037de65ee5ec718e17a6081c13..f8b742ee8e637edd8e8b05aff2fcc7a7 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 459f48b3bf3667b6768a05496b9fb564ed1af09d..18bb80875573b5bb35ab9ec448dcb3992407a56d 100644 +index 43152f0e2565ee8a2487ca98ef7a1f0804456c57..deb9c0d4b721f4a71473f3cfe5c871b9008e3470 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1860,6 +1860,7 @@ public class PurpurWorldConfig { +@@ -1834,6 +1834,7 @@ public class PurpurWorldConfig { public boolean zombifiedPiglinJockeyOnlyBaby = true; public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; @@ -46,7 +46,7 @@ index 459f48b3bf3667b6768a05496b9fb564ed1af09d..18bb80875573b5bb35ab9ec448dcb399 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1873,5 +1874,6 @@ public class PurpurWorldConfig { +@@ -1847,5 +1848,6 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyOnlyBaby = getBoolean("mobs.zombified_piglin.jockey.only-babies", zombifiedPiglinJockeyOnlyBaby); zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); zombifiedPiglinJockeyTryExistingChickens = getBoolean("mobs.zombified_piglin.jockey.try-existing-chickens", zombifiedPiglinJockeyTryExistingChickens); diff --git a/patches/server/0124-Spread-out-and-optimise-player-list-ticksSpread-out-.patch b/patches/server/0122-Spread-out-and-optimise-player-list-ticksSpread-out-.patch similarity index 91% rename from patches/server/0124-Spread-out-and-optimise-player-list-ticksSpread-out-.patch rename to patches/server/0122-Spread-out-and-optimise-player-list-ticksSpread-out-.patch index 970cfbe2c..8c34d2bfe 100644 --- a/patches/server/0124-Spread-out-and-optimise-player-list-ticksSpread-out-.patch +++ b/patches/server/0122-Spread-out-and-optimise-player-list-ticksSpread-out-.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Spread out and optimise player list ticksSpread out and diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 67c96235abd2eeba392e0400e2788c162e18f8de..84e5e35b002fc15a863a0969608d983165e95e65 100644 +index 7c18b70f48b4c2427044ffa0f0b9b071f1e45797..5c11e91e1eebb0e24aaca9af323a9d5ecdc0a411 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -1007,22 +1007,22 @@ public abstract class PlayerList { @@ -46,10 +46,10 @@ index 67c96235abd2eeba392e0400e2788c162e18f8de..84e5e35b002fc15a863a0969608d9831 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 2069a834aaab46486025285b97dbb56d30e506a8..8eaaa5ef3a9c2a49e63f4c015738fc7ce7d3fd5c 100644 +index e251821c59a2a07dc6e1b3f984641a0e549c315a..1ae6175cc5d83d669a19a88cb1ddc6478cb24dd9 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1548,7 +1548,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1549,7 +1549,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(org.bukkit.entity.Entity entity) { diff --git a/patches/server/0125-Configurable-chance-for-wolves-to-spawn-rabid.patch b/patches/server/0123-Configurable-chance-for-wolves-to-spawn-rabid.patch similarity index 98% rename from patches/server/0125-Configurable-chance-for-wolves-to-spawn-rabid.patch rename to patches/server/0123-Configurable-chance-for-wolves-to-spawn-rabid.patch index 10b25f6f7..79fd100c0 100644 --- a/patches/server/0125-Configurable-chance-for-wolves-to-spawn-rabid.patch +++ b/patches/server/0123-Configurable-chance-for-wolves-to-spawn-rabid.patch @@ -222,10 +222,10 @@ index f856b42201c17f8da21251e54fcf052336916e70..ac0803d42be2f36a2f40487ee31413d0 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a830b43904f5c7165be7b55c9177bdf4e15aff88..30151fb7e8f3c871f73362d42061ed7a72f07165 100644 +index deb9c0d4b721f4a71473f3cfe5c871b9008e3470..84be9a82ae1f63b0d9a91cf24e3bdcd05882360b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1753,6 +1753,8 @@ public class PurpurWorldConfig { +@@ -1727,6 +1727,8 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; public double wolfMaxHealth = 8.0D; @@ -234,7 +234,7 @@ index a830b43904f5c7165be7b55c9177bdf4e15aff88..30151fb7e8f3c871f73362d42061ed7a public int wolfBreedingTicks = 6000; private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); -@@ -1763,6 +1765,8 @@ public class PurpurWorldConfig { +@@ -1737,6 +1739,8 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0126-Configurable-default-collar-color.patch b/patches/server/0124-Configurable-default-collar-color.patch similarity index 88% rename from patches/server/0126-Configurable-default-collar-color.patch rename to patches/server/0124-Configurable-default-collar-color.patch index 9f6fc1ddc..e384f1503 100644 --- a/patches/server/0126-Configurable-default-collar-color.patch +++ b/patches/server/0124-Configurable-default-collar-color.patch @@ -9,7 +9,7 @@ Resets to RED when the value is invalid. test 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 8f6c3e9eaefc0a15aefde7119f2e123894d434b7..bc088e237e6f1f2a4cde766b7586a621f1cb54e2 100644 +index e9a165b7bb66dd4ae1c1befc67c671f45ec8271b..7d1e22f3c6eb5462d07027b3a2890b07667ddc46 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Cat.java +++ b/src/main/java/net/minecraft/world/entity/animal/Cat.java @@ -367,6 +367,14 @@ public class Cat extends TamableAnimal { @@ -28,7 +28,7 @@ index 8f6c3e9eaefc0a15aefde7119f2e123894d434b7..bc088e237e6f1f2a4cde766b7586a621 public Cat getBreedOffspring(ServerLevel world, AgeableMob entity) { Cat entitycat = (Cat) EntityType.CAT.create(world); 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 1c971eaf2fca2d1cdc89809f673e49de107a4a46..a669a00d68807ed451a1b0def7a92e17ffb7bee1 100644 +index 38c69ddde8a54482a1de60387bace297869c47f3..20e0e74d7e43f436172ca7b4cb8b613ba116f9ec 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Wolf.java +++ b/src/main/java/net/minecraft/world/entity/animal/Wolf.java @@ -193,6 +193,12 @@ public class Wolf extends TamableAnimal implements NeutralMob { @@ -45,10 +45,10 @@ index 1c971eaf2fca2d1cdc89809f673e49de107a4a46..a669a00d68807ed451a1b0def7a92e17 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index da0849e6e38a2c54410bd158b16f8f3e79e60066..4e889a369b1bf75e6ed3f175997b4604eaeb4414 100644 +index 84be9a82ae1f63b0d9a91cf24e3bdcd05882360b..6be11c27772a1111a45096ca32cecc30e02e9431 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -588,6 +588,7 @@ public class PurpurWorldConfig { +@@ -562,6 +562,7 @@ public class PurpurWorldConfig { public boolean catRidable = false; public boolean catRidableInWater = false; @@ -56,7 +56,7 @@ index da0849e6e38a2c54410bd158b16f8f3e79e60066..4e889a369b1bf75e6ed3f175997b4604 public double catMaxHealth = 10.0D; public int catSpawnDelay = 1200; public int catSpawnSwampHutScanRange = 16; -@@ -601,6 +602,11 @@ public class PurpurWorldConfig { +@@ -575,6 +576,11 @@ public class PurpurWorldConfig { set("mobs.cat.attributes.max-health", null); set("mobs.cat.attributes.max_health", oldValue); } @@ -68,7 +68,7 @@ index da0849e6e38a2c54410bd158b16f8f3e79e60066..4e889a369b1bf75e6ed3f175997b4604 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); -@@ -1753,6 +1759,7 @@ public class PurpurWorldConfig { +@@ -1727,6 +1733,7 @@ public class PurpurWorldConfig { public boolean wolfRidable = false; public boolean wolfRidableInWater = false; public double wolfMaxHealth = 8.0D; @@ -76,7 +76,7 @@ index da0849e6e38a2c54410bd158b16f8f3e79e60066..4e889a369b1bf75e6ed3f175997b4604 public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; -@@ -1765,6 +1772,11 @@ public class PurpurWorldConfig { +@@ -1739,6 +1746,11 @@ public class PurpurWorldConfig { set("mobs.wolf.attributes.max_health", oldValue); } wolfMaxHealth = getDouble("mobs.wolf.attributes.max_health", wolfMaxHealth); diff --git a/patches/server/0127-Phantom-flames-on-swoop.patch b/patches/server/0125-Phantom-flames-on-swoop.patch similarity index 87% rename from patches/server/0127-Phantom-flames-on-swoop.patch rename to patches/server/0125-Phantom-flames-on-swoop.patch index 97b873d56..f08fee3a7 100644 --- a/patches/server/0127-Phantom-flames-on-swoop.patch +++ b/patches/server/0125-Phantom-flames-on-swoop.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Phantom flames on swoop diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java -index edb28f9424af0d1973231729785b6ec67b599dbd..c3fde22e1cf98881da66e70870ced65f0ce0abc3 100644 +index 266c196032f5c251cce17f096fe1ed8df371e412..94e034916df2626652cb6bfb05f0d5557c7b4803 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java @@ -226,6 +226,7 @@ public class Phantom extends FlyingMob implements Enemy { @@ -17,10 +17,10 @@ index edb28f9424af0d1973231729785b6ec67b599dbd..c3fde22e1cf98881da66e70870ced65f @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4e889a369b1bf75e6ed3f175997b4604eaeb4414..f9f393c36cc809c35845c4ab3732a22311d8f378 100644 +index 6be11c27772a1111a45096ca32cecc30e02e9431..16db639bac4c3b962bae0924dc155872db1fa9be 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1178,6 +1178,7 @@ public class PurpurWorldConfig { +@@ -1152,6 +1152,7 @@ public class PurpurWorldConfig { public float phantomFlameDamage = 1.0F; public int phantomFlameFireTime = 8; public boolean phantomAllowGriefing = false; @@ -28,7 +28,7 @@ index 4e889a369b1bf75e6ed3f175997b4604eaeb4414..f9f393c36cc809c35845c4ab3732a223 public double phantomMaxHealth = 20.0D; public double phantomAttackedByCrystalRadius = 0.0D; public float phantomAttackedByCrystalDamage = 1.0F; -@@ -1204,6 +1205,7 @@ public class PurpurWorldConfig { +@@ -1178,6 +1179,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/0128-Option-for-chests-to-open-even-with-a-solid-block-on.patch b/patches/server/0126-Option-for-chests-to-open-even-with-a-solid-block-on.patch similarity index 87% rename from patches/server/0128-Option-for-chests-to-open-even-with-a-solid-block-on.patch rename to patches/server/0126-Option-for-chests-to-open-even-with-a-solid-block-on.patch index 181f5b9b7..f56b94ed3 100644 --- a/patches/server/0128-Option-for-chests-to-open-even-with-a-solid-block-on.patch +++ b/patches/server/0126-Option-for-chests-to-open-even-with-a-solid-block-on.patch @@ -17,11 +17,11 @@ index db726697b00afdee6078849fd224263483349912..c808664a67a9604e40ab388c6d0e6ac3 return world.getBlockState(blockposition1).isRedstoneConductor(world, blockposition1); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f9f393c36cc809c35845c4ab3732a22311d8f378..469d001170e2aa18475efaab25e1f48105b47218 100644 +index 16db639bac4c3b962bae0924dc155872db1fa9be..6a82e1934f1647e7a8961736ad9f5520f733ac8c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -418,6 +418,11 @@ public class PurpurWorldConfig { - caveVinesMaxGrowthAge = getInt("blocks.cave_vines.max-growth-age", caveVinesMaxGrowthAge); +@@ -411,6 +411,11 @@ public class PurpurWorldConfig { + } } + public boolean chestOpenWithBlockOnTop = false; diff --git a/patches/server/0129-Implement-TPSBar.patch b/patches/server/0127-Implement-TPSBar.patch similarity index 97% rename from patches/server/0129-Implement-TPSBar.patch rename to patches/server/0127-Implement-TPSBar.patch index 0c41f4f3b..c8f6cc1bf 100644 --- a/patches/server/0129-Implement-TPSBar.patch +++ b/patches/server/0127-Implement-TPSBar.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Implement TPSBar diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index be6009edf26ee468980e7d0f33b989f0121f3011..6914b9a27798ee1f4f4169ff70b9cc4e2b61d9b4 100644 +index 3e568ce480d01e8ea7cbabd0929a99fb635de1ee..bc418143e63bfe9553f6853b89c6f5e8fb73c36e 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -208,6 +208,7 @@ public class Commands { @@ -42,7 +42,7 @@ index 8bf98d8f8e9f0baaf203a9e8d18683236856eab7..455776981274e64724376a3182b60784 } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0232c6eb5eece33aa264bf6232b53342041310cc..67a9f4d394372b229a42f54344590b02439bb260 100644 +index bb392c810776264b08db6588ed9253a5aadef021..ea852a092231a9fd0a9bfc4dc1e31c859db17ade 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -256,6 +256,7 @@ public class ServerPlayer extends Player { @@ -84,7 +84,7 @@ index 0232c6eb5eece33aa264bf6232b53342041310cc..67a9f4d394372b229a42f54344590b02 // Purpur end } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 84e5e35b002fc15a863a0969608d983165e95e65..cf5916a1fe4fcf5353f5c7a00074b668469038ac 100644 +index 5c11e91e1eebb0e24aaca9af323a9d5ecdc0a411..63e8397d6eff95ed81ab5d7cdb69495e188d931b 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -482,6 +482,7 @@ public abstract class PlayerList { @@ -105,7 +105,7 @@ index 84e5e35b002fc15a863a0969608d983165e95e65..cf5916a1fe4fcf5353f5c7a00074b668 entityplayer.awardStat(Stats.LEAVE_GAME); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index d892734595f70f446919d89de967a10c87c687d6..79bcb015a7a29b41552e5173ec4b38bfa44fa6ff 100644 +index e654f940f0c6cf6b6bc0cbcfd8d440df5375a8de..600b9e9bc6a9c92920c8ec28764e64dfc1fd6e3f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -209,6 +209,29 @@ public class PurpurConfig { diff --git a/patches/server/0130-Striders-give-saddle-back.patch b/patches/server/0128-Striders-give-saddle-back.patch similarity index 88% rename from patches/server/0130-Striders-give-saddle-back.patch rename to patches/server/0128-Striders-give-saddle-back.patch index 296768a3e..5a564624e 100644 --- a/patches/server/0130-Striders-give-saddle-back.patch +++ b/patches/server/0128-Striders-give-saddle-back.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Striders give saddle back diff --git a/src/main/java/net/minecraft/world/entity/monster/Strider.java b/src/main/java/net/minecraft/world/entity/monster/Strider.java -index 672801ab77a10917147f12b2117a3390885b39b0..b4f7d6f4b7e6f6d5fe9e472f1723430c3301378b 100644 +index 74d11bf608ff26093d7995a09a463cac24304fa1..5902f0883ca0ad706801dc693bb3ac79b3eae91c 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Strider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Strider.java @@ -451,6 +451,18 @@ public class Strider extends Animal implements ItemSteerable, Saddleable { @@ -28,10 +28,10 @@ index 672801ab77a10917147f12b2117a3390885b39b0..b4f7d6f4b7e6f6d5fe9e472f1723430c } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 469d001170e2aa18475efaab25e1f48105b47218..14110f925bb60819a50fabad7705c26f87e77f19 100644 +index 6a82e1934f1647e7a8961736ad9f5520f733ac8c..dcbd25fcb88e82b8f2c5fdf60135a540bab6e91d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1553,6 +1553,7 @@ public class PurpurWorldConfig { +@@ -1527,6 +1527,7 @@ public class PurpurWorldConfig { public boolean striderRidableInWater = false; public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; @@ -39,7 +39,7 @@ index 469d001170e2aa18475efaab25e1f48105b47218..14110f925bb60819a50fabad7705c26f private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1563,6 +1564,7 @@ public class PurpurWorldConfig { +@@ -1537,6 +1538,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/0131-PlayerBookTooLargeEvent.patch b/patches/server/0129-PlayerBookTooLargeEvent.patch similarity index 91% rename from patches/server/0131-PlayerBookTooLargeEvent.patch rename to patches/server/0129-PlayerBookTooLargeEvent.patch index 13d131e82..390098e6c 100644 --- a/patches/server/0131-PlayerBookTooLargeEvent.patch +++ b/patches/server/0129-PlayerBookTooLargeEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] PlayerBookTooLargeEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 00666db1dc09f3c2df475de8c8c43e7d2c30127c..b36c984e1c38c5f8ca644e51157e82452612ebcf 100644 +index b754eda13b99ddc529ef62bf591dd35758c346d0..5404735daf4d914d6981bc3c0ebafe087f8b6f37 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1107,10 +1107,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1140,10 +1140,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser int maxBookPageSize = com.destroystokyo.paper.PaperConfig.maxBookPageSize; double multiplier = Math.max(0.3D, Math.min(1D, com.destroystokyo.paper.PaperConfig.maxBookTotalSizeMultiplier)); long byteAllowed = maxBookPageSize; @@ -21,7 +21,7 @@ index 00666db1dc09f3c2df475de8c8c43e7d2c30127c..b36c984e1c38c5f8ca644e51157e8245 server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause return; } -@@ -1134,6 +1136,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1167,6 +1169,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser if (byteTotal > byteAllowed) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send too large of a book. Book Size: " + byteTotal + " - Allowed: "+ byteAllowed + " - Pages: " + pageList.size()); diff --git a/patches/server/0132-Full-netherite-armor-grants-fire-resistance.patch b/patches/server/0130-Full-netherite-armor-grants-fire-resistance.patch similarity index 94% rename from patches/server/0132-Full-netherite-armor-grants-fire-resistance.patch rename to patches/server/0130-Full-netherite-armor-grants-fire-resistance.patch index 382b53aed..2d2f9e5c6 100644 --- a/patches/server/0132-Full-netherite-armor-grants-fire-resistance.patch +++ b/patches/server/0130-Full-netherite-armor-grants-fire-resistance.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Full netherite armor grants fire resistance diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 42becbb21eee4e1b0a14e2fc3e226f0de26c96b1..0a8c8a24af17262be3e656042dc5c8bce9364e8a 100644 +index 311eacc10a1ab5ed2161460cfaf45002c901de99..4ddeb2361528406a359eb0ccb204c965a03fc729 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -357,6 +357,16 @@ public abstract class Player extends LivingEntity { @@ -26,7 +26,7 @@ index 42becbb21eee4e1b0a14e2fc3e226f0de26c96b1..0a8c8a24af17262be3e656042dc5c8bc protected ItemCooldowns createItemCooldowns() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 14110f925bb60819a50fabad7705c26f87e77f19..d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a 100644 +index dcbd25fcb88e82b8f2c5fdf60135a540bab6e91d..45b4ac35cb0b596c5ad6c9ab03739e337425becc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -267,6 +267,19 @@ public class PurpurWorldConfig { diff --git a/patches/server/0133-Fix-rotating-UP-DOWN-CW-and-CCW.patch b/patches/server/0131-Fix-rotating-UP-DOWN-CW-and-CCW.patch similarity index 100% rename from patches/server/0133-Fix-rotating-UP-DOWN-CW-and-CCW.patch rename to patches/server/0131-Fix-rotating-UP-DOWN-CW-and-CCW.patch diff --git a/patches/server/0134-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0132-Add-mobGriefing-bypass-to-everything-affected.patch similarity index 93% rename from patches/server/0134-Add-mobGriefing-bypass-to-everything-affected.patch rename to patches/server/0132-Add-mobGriefing-bypass-to-everything-affected.patch index e667a5741..cc460409c 100644 --- a/patches/server/0134-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0132-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 4904abec73580eee50c12a8edcb6e743805b018e..e0c5947610ab711024c0ef6346f2ca9a87701139 100644 +index bb101512f4d1d26f8df50b50841a5952abb64fcc..679ceed9d18b59b35572145e0fa21e51e4760d27 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1677,7 +1677,7 @@ public abstract class LivingEntity extends Entity { @@ -18,7 +18,7 @@ index 4904abec73580eee50c12a8edcb6e743805b018e..e0c5947610ab711024c0ef6346f2ca9a 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 6a8347ceefd663066de5887fef8ebc82b30a1b93..95c765ce622da83cfdff655ca746468fce37a491 100644 +index 7b67e1febe49fced5507db87f9269007680d8c9b..33868c78d5e435230cbfdfcf01795c82411ac7c7 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -664,7 +664,7 @@ public abstract class Mob extends LivingEntity { @@ -92,7 +92,7 @@ index a618b50ac8448528ac6ac64b400fa3d0882dbaf9..7ca4e20ec53408573921bed07dd81849 } else if (this.nextStartTick > 0) { --this.nextStartTick; diff --git a/src/main/java/net/minecraft/world/entity/animal/Fox.java b/src/main/java/net/minecraft/world/entity/animal/Fox.java -index 856e348b45fcaf8fc1710cd7382eb6ac10424fb8..1daccbc51b6ec635130932995350eb0de8abe0a3 100644 +index f7f5a75f29a5092a7d8ee689cd3679d8eaac7c7d..d667159664c05e4e45fe3c22a52f5e228a91409a 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Fox.java +++ b/src/main/java/net/minecraft/world/entity/animal/Fox.java @@ -1356,7 +1356,7 @@ public class Fox extends Animal { @@ -105,7 +105,7 @@ index 856e348b45fcaf8fc1710cd7382eb6ac10424fb8..1daccbc51b6ec635130932995350eb0d if (iblockdata.is(Blocks.SWEET_BERRY_BUSH)) { diff --git a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java -index b4314eb2b69dd56176bb33972181fe75c03b90bd..d7fbe9322ae22274c37e8b36500d993eab5bf397 100644 +index dd6e51be94189679d169f55805c9252107560be2..a65e2addade6b7e5ad47d0f7d25ebc1790b7329f 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Rabbit.java +++ b/src/main/java/net/minecraft/world/entity/animal/Rabbit.java @@ -611,7 +611,7 @@ public class Rabbit extends Animal { @@ -118,7 +118,7 @@ index b4314eb2b69dd56176bb33972181fe75c03b90bd..d7fbe9322ae22274c37e8b36500d993e } diff --git a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java -index 093211be0d86cc114cbb109d7ba01f491d7954b1..af4db007807d94888fa945d9d43785b74bee2b67 100644 +index 10d68856c98b705158fe90623ef2b9ad41bef2f2..0c22b4502be1bf886307ad9b35c49ca617c28dbb 100644 --- a/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java +++ b/src/main/java/net/minecraft/world/entity/animal/SnowGolem.java @@ -128,7 +128,7 @@ public class SnowGolem extends AbstractGolem implements Shearable, RangedAttackM @@ -131,7 +131,7 @@ index 093211be0d86cc114cbb109d7ba01f491d7954b1..af4db007807d94888fa945d9d43785b7 } diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java -index e29fe6939d59a58093ddfbdf9b274469c5e25756..6ba83c938456dc79c8cd948ae981c6f2e93702ae 100644 +index 9d4dd8c460d1d69ab56e166e10fd7137ddc47603..f237bcff01e4102f68663bbaa1254bbd5b98ee0c 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EnderDragon.java @@ -560,7 +560,7 @@ public class EnderDragon extends Mob implements Enemy { @@ -144,7 +144,7 @@ index e29fe6939d59a58093ddfbdf9b274469c5e25756..6ba83c938456dc79c8cd948ae981c6f2 // flag1 = this.level.removeBlock(blockposition, false) || flag1; flag1 = true; diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 9ba855af05a80bef63be043f3672996af6bf411f..86cd0a6d42a232ad81e0593f3b5b23c97d20db39 100644 +index 93cc8dbf2ff435777a5edc11a834ca1b190638ab..cf36bf3067f86572ffb75c2a155dbfc8e3750a12 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java @@ -386,7 +386,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -166,7 +166,7 @@ index 9ba855af05a80bef63be043f3672996af6bf411f..86cd0a6d42a232ad81e0593f3b5b23c9 j = Mth.floor(this.getX()); int i1 = Mth.floor(this.getZ()); diff --git a/src/main/java/net/minecraft/world/entity/monster/Creeper.java b/src/main/java/net/minecraft/world/entity/monster/Creeper.java -index f7b1d2cb0ba544aa4aec7d87d21335e9fcca6127..d06bba26db491950588d8b7ef356156663972e4f 100644 +index bb32bc0989ebbdd7522fe5f70ae3e6414f909388..8ac278f8e55ad7a090ad332db2da1e1eaef0db4d 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Creeper.java +++ b/src/main/java/net/minecraft/world/entity/monster/Creeper.java @@ -344,7 +344,7 @@ public class Creeper extends Monster implements PowerableMob { @@ -179,7 +179,7 @@ index f7b1d2cb0ba544aa4aec7d87d21335e9fcca6127..d06bba26db491950588d8b7ef3561566 // CraftBukkit start diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index 28d2ccc6b29b17a99a2828d044259adafa10922c..be620f9f305aad756bb5b932764aaf24baebda55 100644 +index cc4009934d279e15a6a1d30dbea45fda1f6310e8..188c56ac98e88507f09f8603970ba2238629b8e3 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java @@ -501,7 +501,7 @@ public class EnderMan extends Monster implements NeutralMob { @@ -201,7 +201,7 @@ index 28d2ccc6b29b17a99a2828d044259adafa10922c..be620f9f305aad756bb5b932764aaf24 @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/Evoker.java b/src/main/java/net/minecraft/world/entity/monster/Evoker.java -index f879bfa65b266728b570725e1ff9403f1732244d..e55cc17687247de4817939cd2d73ef667d946ca3 100644 +index eb794368625d96aef6883f2c45c6a21e06e33d0b..f0f8d81539ce6a5d0b84488b6dc15fe53e0b1083 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Evoker.java +++ b/src/main/java/net/minecraft/world/entity/monster/Evoker.java @@ -317,7 +317,7 @@ public class Evoker extends SpellcasterIllager { @@ -214,7 +214,7 @@ index f879bfa65b266728b570725e1ff9403f1732244d..e55cc17687247de4817939cd2d73ef66 } else { List list = Evoker.this.level.getNearbyEntities(Sheep.class, this.wololoTargeting, Evoker.this, Evoker.this.getBoundingBox().inflate(16.0D, 4.0D, 16.0D)); diff --git a/src/main/java/net/minecraft/world/entity/monster/Ravager.java b/src/main/java/net/minecraft/world/entity/monster/Ravager.java -index c1eea7e71aa364789a544e6491b2201bcb6a37c8..5eb9e19531c5c996dd669f6e430b0dfb3d94928a 100644 +index b289e0fa4324f012464c655d82ccf59469ae6466..a9681016023be8586268a366914273334e3e7f9e 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Ravager.java +++ b/src/main/java/net/minecraft/world/entity/monster/Ravager.java @@ -185,7 +185,7 @@ public class Ravager extends Raider { @@ -227,7 +227,7 @@ index c1eea7e71aa364789a544e6491b2201bcb6a37c8..5eb9e19531c5c996dd669f6e430b0dfb AABB axisalignedbb = this.getBoundingBox().inflate(0.2D); Iterator iterator = BlockPos.betweenClosed(Mth.floor(axisalignedbb.minX), Mth.floor(axisalignedbb.minY), Mth.floor(axisalignedbb.minZ), Mth.floor(axisalignedbb.maxX), Mth.floor(axisalignedbb.maxY), Mth.floor(axisalignedbb.maxZ)).iterator(); diff --git a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java -index 3481a2e178e5c101b6038e6506933d50861c3f9d..d215d8eff468c8bab9db160ea2b3fa1e6749d1a3 100644 +index cd26c22664fb23457f99fe04607146c8c6545307..5057b9b6ad2c47a11ca11b281393ccf6a6e8dd6f 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Silverfish.java +++ b/src/main/java/net/minecraft/world/entity/monster/Silverfish.java @@ -197,7 +197,7 @@ public class Silverfish extends Monster { @@ -393,7 +393,7 @@ index b942e7c85e6c8f9a7664d9e5bf93bcd79e0651f1..5b29f3fced5435e172dd69f6f4eb265e return true; // Purpur end diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5e76ea545 100644 +index 45b4ac35cb0b596c5ad6c9ab03739e337425becc..eb41a866b47b0051a6a7e4268bc946bf35264168 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -381,8 +381,11 @@ public class PurpurWorldConfig { @@ -420,7 +420,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 tridentLoyaltyVoidReturnHeight = getDouble("gameplay-mechanics.trident-loyalty-void-return-height", tridentLoyaltyVoidReturnHeight); voidDamageHeight = getDouble("gameplay-mechanics.void-damage-height", voidDamageHeight); voidDamageDealt = getDouble("gameplay-mechanics.void-damage-dealt", voidDamageDealt); -@@ -443,9 +449,11 @@ public class PurpurWorldConfig { +@@ -436,9 +442,11 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } @@ -432,8 +432,8 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 farmlandGetsMoistFromBelow = getBoolean("blocks.farmland.gets-moist-from-below", farmlandGetsMoistFromBelow); farmlandAlpha = getBoolean("blocks.farmland.use-alpha-farmland", farmlandAlpha); } -@@ -484,6 +492,11 @@ public class PurpurWorldConfig { - kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge); +@@ -472,6 +480,11 @@ public class PurpurWorldConfig { + waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources); } + public boolean powderSnowBypassMobGriefing = false; @@ -444,19 +444,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 public boolean respawnAnchorExplode = true; public double respawnAnchorExplosionPower = 5.0D; public boolean respawnAnchorExplosionFire = true; -@@ -515,6 +528,11 @@ public class PurpurWorldConfig { - stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage); - } - -+ public boolean turtleEggsBypassMobGriefing = false; -+ private void turtleSettings() { -+ turtleEggsBypassMobGriefing = getBoolean("blocks.turtle_egg.bypass-mob-griefing", turtleEggsBypassMobGriefing); -+ } -+ - public double twistingVinesGrowthModifier = 0.10D; - public int twistingVinesMaxGrowthAge = 25; - private void twistingVinesSettings() { -@@ -699,6 +717,7 @@ public class PurpurWorldConfig { +@@ -673,6 +686,7 @@ public class PurpurWorldConfig { public double creeperMaxHealth = 20.0D; public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; @@ -464,7 +452,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -710,6 +729,7 @@ public class PurpurWorldConfig { +@@ -684,6 +698,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); @@ -472,7 +460,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 } public boolean dolphinRidable = false; -@@ -797,6 +817,7 @@ public class PurpurWorldConfig { +@@ -771,6 +786,7 @@ public class PurpurWorldConfig { public double enderDragonMaxY = 256D; public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; @@ -480,7 +468,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -812,6 +833,7 @@ public class PurpurWorldConfig { +@@ -786,6 +802,7 @@ public class PurpurWorldConfig { } enderDragonMaxHealth = getDouble("mobs.ender_dragon.attributes.max_health", enderDragonMaxHealth); enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); @@ -488,7 +476,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 } public boolean endermanRidable = false; -@@ -819,6 +841,7 @@ public class PurpurWorldConfig { +@@ -793,6 +810,7 @@ public class PurpurWorldConfig { public double endermanMaxHealth = 40.0D; public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; @@ -496,7 +484,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -830,6 +853,7 @@ public class PurpurWorldConfig { +@@ -804,6 +822,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); @@ -504,7 +492,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 } public boolean endermiteRidable = false; -@@ -849,6 +873,7 @@ public class PurpurWorldConfig { +@@ -823,6 +842,7 @@ public class PurpurWorldConfig { public boolean evokerRidable = false; public boolean evokerRidableInWater = false; public double evokerMaxHealth = 24.0D; @@ -512,7 +500,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -858,6 +883,7 @@ public class PurpurWorldConfig { +@@ -832,6 +852,7 @@ public class PurpurWorldConfig { set("mobs.evoker.attributes.max_health", oldValue); } evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); @@ -520,7 +508,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 } public boolean foxRidable = false; -@@ -865,6 +891,7 @@ public class PurpurWorldConfig { +@@ -839,6 +860,7 @@ public class PurpurWorldConfig { public double foxMaxHealth = 10.0D; public boolean foxTypeChangesWithTulips = false; public int foxBreedingTicks = 6000; @@ -528,7 +516,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -876,6 +903,7 @@ public class PurpurWorldConfig { +@@ -850,6 +872,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); @@ -536,7 +524,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 } public boolean ghastRidable = false; -@@ -1271,6 +1299,7 @@ public class PurpurWorldConfig { +@@ -1245,6 +1268,7 @@ public class PurpurWorldConfig { public boolean piglinRidable = false; public boolean piglinRidableInWater = false; public double piglinMaxHealth = 16.0D; @@ -544,7 +532,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1280,6 +1309,7 @@ public class PurpurWorldConfig { +@@ -1254,6 +1278,7 @@ public class PurpurWorldConfig { set("mobs.piglin.attributes.max_health", oldValue); } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); @@ -552,7 +540,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 } public boolean piglinBruteRidable = false; -@@ -1299,6 +1329,7 @@ public class PurpurWorldConfig { +@@ -1273,6 +1298,7 @@ public class PurpurWorldConfig { public boolean pillagerRidable = false; public boolean pillagerRidableInWater = false; public double pillagerMaxHealth = 24.0D; @@ -560,7 +548,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1308,6 +1339,7 @@ public class PurpurWorldConfig { +@@ -1282,6 +1308,7 @@ public class PurpurWorldConfig { set("mobs.pillager.attributes.max_health", oldValue); } pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); @@ -568,7 +556,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 } public boolean polarBearRidable = false; -@@ -1349,6 +1381,7 @@ public class PurpurWorldConfig { +@@ -1323,6 +1350,7 @@ public class PurpurWorldConfig { public double rabbitNaturalToast = 0.0D; public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; @@ -576,7 +564,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1361,11 +1394,13 @@ public class PurpurWorldConfig { +@@ -1335,11 +1363,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); @@ -590,7 +578,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1375,6 +1410,7 @@ public class PurpurWorldConfig { +@@ -1349,6 +1379,7 @@ public class PurpurWorldConfig { set("mobs.ravager.attributes.max_health", oldValue); } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); @@ -598,7 +586,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 } public boolean salmonRidable = false; -@@ -1393,6 +1429,7 @@ public class PurpurWorldConfig { +@@ -1367,6 +1398,7 @@ public class PurpurWorldConfig { public boolean sheepRidableInWater = false; public double sheepMaxHealth = 8.0D; public int sheepBreedingTicks = 6000; @@ -606,7 +594,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1403,6 +1440,7 @@ public class PurpurWorldConfig { +@@ -1377,6 +1409,7 @@ public class PurpurWorldConfig { } sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); @@ -614,7 +602,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 } public boolean shulkerRidable = false; -@@ -1422,6 +1460,7 @@ public class PurpurWorldConfig { +@@ -1396,6 +1429,7 @@ public class PurpurWorldConfig { public boolean silverfishRidable = false; public boolean silverfishRidableInWater = false; public double silverfishMaxHealth = 8.0D; @@ -622,7 +610,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1431,6 +1470,7 @@ public class PurpurWorldConfig { +@@ -1405,6 +1439,7 @@ public class PurpurWorldConfig { set("mobs.silverfish.attributes.max_health", oldValue); } silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); @@ -630,7 +618,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 } public boolean skeletonRidable = false; -@@ -1498,6 +1538,7 @@ public class PurpurWorldConfig { +@@ -1472,6 +1507,7 @@ public class PurpurWorldConfig { public int snowGolemSnowBallMax = 20; public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; @@ -638,7 +626,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1514,6 +1555,7 @@ public class PurpurWorldConfig { +@@ -1488,6 +1524,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); @@ -646,7 +634,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 } public boolean squidRidable = false; -@@ -1671,6 +1713,7 @@ public class PurpurWorldConfig { +@@ -1645,6 +1682,7 @@ public class PurpurWorldConfig { public int villagerBreedingTicks = 6000; public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; @@ -654,7 +642,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1690,6 +1733,7 @@ public class PurpurWorldConfig { +@@ -1664,6 +1702,7 @@ public class PurpurWorldConfig { villagerBreedingTicks = getInt("mobs.villager.breeding-delay-ticks", villagerBreedingTicks); villagerClericsFarmWarts = getBoolean("mobs.villager.clerics-farm-warts", villagerClericsFarmWarts); villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); @@ -662,7 +650,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 } public boolean vindicatorRidable = false; -@@ -1746,6 +1790,7 @@ public class PurpurWorldConfig { +@@ -1720,6 +1759,7 @@ public class PurpurWorldConfig { public double witherMaxHealth = 300.0D; public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; @@ -670,7 +658,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1762,6 +1807,7 @@ public class PurpurWorldConfig { +@@ -1736,6 +1776,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); @@ -678,7 +666,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 } public boolean witherSkeletonRidable = false; -@@ -1826,6 +1872,7 @@ public class PurpurWorldConfig { +@@ -1800,6 +1841,7 @@ public class PurpurWorldConfig { public double zombieJockeyChance = 0.05D; public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; @@ -686,7 +674,7 @@ index d77e802ac6c62b1cda8d1f67b41dd3c6d67f8e2a..245f602c5511b11ef7572cbff7e31db5 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1840,6 +1887,7 @@ public class PurpurWorldConfig { +@@ -1814,6 +1856,7 @@ public class PurpurWorldConfig { zombieJockeyChance = getDouble("mobs.zombie.jockey.chance", zombieJockeyChance); zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); diff --git a/patches/server/0135-Config-to-allow-Note-Block-sounds-when-blocked.patch b/patches/server/0133-Config-to-allow-Note-Block-sounds-when-blocked.patch similarity index 94% rename from patches/server/0135-Config-to-allow-Note-Block-sounds-when-blocked.patch rename to patches/server/0133-Config-to-allow-Note-Block-sounds-when-blocked.patch index bfaf40fe2..48e623c86 100644 --- a/patches/server/0135-Config-to-allow-Note-Block-sounds-when-blocked.patch +++ b/patches/server/0133-Config-to-allow-Note-Block-sounds-when-blocked.patch @@ -9,7 +9,7 @@ Normally, the sounds will only play when the block directly above is air. With this patch enabled, players can place any block above the Note Block and it will still work. diff --git a/src/main/java/net/minecraft/world/level/block/NoteBlock.java b/src/main/java/net/minecraft/world/level/block/NoteBlock.java -index 0512b3701a3bf33891ab6281355c07af6be5b9c1..d79cf8df4be544c4402a2419cd9238bde6620fbb 100644 +index 7dd423f6b92b7f27dd43e5ef3f4029a100a8cfa6..8d0a1da17c38118293d1f05849cdc99970ed8795 100644 --- a/src/main/java/net/minecraft/world/level/block/NoteBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NoteBlock.java @@ -61,7 +61,7 @@ public class NoteBlock extends Block { @@ -22,7 +22,7 @@ index 0512b3701a3bf33891ab6281355c07af6be5b9c1..d79cf8df4be544c4402a2419cd9238bd org.bukkit.event.block.NotePlayEvent event = org.bukkit.craftbukkit.event.CraftEventFactory.callNotePlayEvent(world, blockposition, data.getValue(NoteBlock.INSTRUMENT), data.getValue(NoteBlock.NOTE)); if (!event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 245f602c5511b11ef7572cbff7e31db5e76ea545..e2239c1a5ea8d8c91d0cd247fa0b4dbc255eeab5 100644 +index eb41a866b47b0051a6a7e4268bc946bf35264168..9a42073d2b26d62669bf9ed67f99f193e2415e01 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -384,6 +384,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0136-Add-EntityTeleportHinderedEvent.patch b/patches/server/0134-Add-EntityTeleportHinderedEvent.patch similarity index 97% rename from patches/server/0136-Add-EntityTeleportHinderedEvent.patch rename to patches/server/0134-Add-EntityTeleportHinderedEvent.patch index 388e6f858..8a239b8e5 100644 --- a/patches/server/0136-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0134-Add-EntityTeleportHinderedEvent.patch @@ -93,10 +93,10 @@ index 1ba59900ddf403453aeb4f82b097feaab3dae3ff..1f76a89e179b7a4bf28a172b1ece0603 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 8eaaa5ef3a9c2a49e63f4c015738fc7ce7d3fd5c..235dbac7c3c28e5c2fb2aa3bfbafc7ff008e00ff 100644 +index 1ae6175cc5d83d669a19a88cb1ddc6478cb24dd9..e92c9815ce3f41760e4a31b01ce90d0818657521 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -966,6 +966,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -967,6 +967,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle()) { @@ -108,7 +108,7 @@ index 8eaaa5ef3a9c2a49e63f4c015738fc7ce7d3fd5c..235dbac7c3c28e5c2fb2aa3bfbafc7ff } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 38467b91b7550a6c1c28a65dfbde9cbbf63915e9..fb27a33232a30706d4075ca204ca9b20c0505613 100644 +index 9a42073d2b26d62669bf9ed67f99f193e2415e01..ac811e5b2753d9ed727aa1b3f91ef5df338d9360 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -383,6 +383,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0137-Farmland-trampling-changes.patch b/patches/server/0135-Farmland-trampling-changes.patch similarity index 95% rename from patches/server/0137-Farmland-trampling-changes.patch rename to patches/server/0135-Farmland-trampling-changes.patch index 28b31b5dc..3281d57b6 100644 --- a/patches/server/0137-Farmland-trampling-changes.patch +++ b/patches/server/0135-Farmland-trampling-changes.patch @@ -37,10 +37,10 @@ index caf40e3df0896492be959f9e0bcfb1fad0bfa2ef..10f1e3d9c35ee80587865cf0035416ae if (CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.DIRT.defaultBlockState()).isCancelled()) { return; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1719201a0da3d0da8500a2e138bd0a6234502b9b..90d764834b2210dbc655a46a5f4512afe8dd7d70 100644 +index ac811e5b2753d9ed727aa1b3f91ef5df338d9360..0dde7e616a98a44ff9dec970a90b92694f97acd5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -456,10 +456,16 @@ public class PurpurWorldConfig { +@@ -449,10 +449,16 @@ public class PurpurWorldConfig { public boolean farmlandBypassMobGriefing = false; public boolean farmlandGetsMoistFromBelow = false; public boolean farmlandAlpha = false; diff --git a/patches/server/0138-Movement-options-for-armor-stands.patch b/patches/server/0136-Movement-options-for-armor-stands.patch similarity index 94% rename from patches/server/0138-Movement-options-for-armor-stands.patch rename to patches/server/0136-Movement-options-for-armor-stands.patch index 9439d1428..d95919be2 100644 --- a/patches/server/0138-Movement-options-for-armor-stands.patch +++ b/patches/server/0136-Movement-options-for-armor-stands.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/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1d5ab54742ee9818ffd8cf1687e89269f449e6c4..1428e4f1aa8262ff33c789c419451ecef192116f 100644 +index 15e25843ba5bea971d7a844fbd8adb8b483001da..0595e33944712424d551a900b93cd17b132789c3 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1502,7 +1502,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1588,7 +1588,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i return this.isInWater() || flag; } @@ -66,7 +66,7 @@ index 50370dc8697569a4e5cf8ec3714d227a59357d64..e9e24435057cff9c0af758ca2aa822c3 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 90d764834b2210dbc655a46a5f4512afe8dd7d70..4c65643e508d4c80a3e8f76d7f7fd1f128bd646f 100644 +index 0dde7e616a98a44ff9dec970a90b92694f97acd5..aa5cd1c74b6e6ee2cf2e646269f1e28884618ba5 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -103,10 +103,16 @@ public class PurpurWorldConfig { diff --git a/patches/server/0139-Fix-stuck-in-portals.patch b/patches/server/0137-Fix-stuck-in-portals.patch similarity index 90% rename from patches/server/0139-Fix-stuck-in-portals.patch rename to patches/server/0137-Fix-stuck-in-portals.patch index 7698c9c21..851653653 100644 --- a/patches/server/0139-Fix-stuck-in-portals.patch +++ b/patches/server/0137-Fix-stuck-in-portals.patch @@ -5,7 +5,7 @@ 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 67a9f4d394372b229a42f54344590b02439bb260..0d58442a23793c0e0d70a2caf16736b5fba8879f 100644 +index ea852a092231a9fd0a9bfc4dc1e31c859db17ade..722590b3674de1c3d92db4995df0aa87e55ecdea 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1171,6 +1171,7 @@ public class ServerPlayer extends Player { @@ -17,10 +17,10 @@ index 67a9f4d394372b229a42f54344590b02439bb260..0d58442a23793c0e0d70a2caf16736b5 // 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 186072ce4012c562e659674c7ef1fb01e51011b4..adfd0f5e939fcd35a564682d913153944d806e5d 100644 +index 0595e33944712424d551a900b93cd17b132789c3..8288841cfff9854f8ab50c37bf14d82dad3b2917 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2626,12 +2626,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2713,12 +2713,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i return Vec3.directionFromRotation(this.getRotationVector()); } @@ -37,7 +37,7 @@ index 186072ce4012c562e659674c7ef1fb01e51011b4..adfd0f5e939fcd35a564682d91315394 this.isInsidePortal = true; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1b557f300fb895df5358d9a9c3a6b14661ca66b8..f1f4eda3adb8ef19958472558e91c585b9646c6b 100644 +index aa5cd1c74b6e6ee2cf2e646269f1e28884618ba5..1f53d91397fdd6903fe0b9e2d7805c4a08c3f27d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -297,6 +297,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0140-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0138-Toggle-for-water-sensitive-mob-damage.patch similarity index 94% rename from patches/server/0140-Toggle-for-water-sensitive-mob-damage.patch rename to patches/server/0138-Toggle-for-water-sensitive-mob-damage.patch index b8f2cb138..b7a8f4bfc 100644 --- a/patches/server/0140-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0138-Toggle-for-water-sensitive-mob-damage.patch @@ -1142,7 +1142,7 @@ index f6734f2eb44af7b2389de5079831e0e4f8a1c742..d3a298734e4434d29b66e94fc6c299d3 public static AttributeSupplier.Builder createAttributes() { diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 84f26b30c04715ed9d39c27738705a0d589249f3..56d57670e7e315d53abc60d6c9df2a8777536b30 100644 +index 2c9f0dc3db951befa9152c6fe17a5c5a788df774..f82d4019aba5fd89e0f8d41a4dc6e42abd228510 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -179,6 +179,11 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -1174,10 +1174,10 @@ index c5dbb1c8210b71f7d9d91089cb139f65605573a8..e5b78c9d6fb326771d65ea9afd9da38c @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f879fe3477f 100644 +index 1f53d91397fdd6903fe0b9e2d7805c4a08c3f27d..7937bad1b6e9c62f23bcdccc11824ff96e77afac 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -574,6 +574,7 @@ public class PurpurWorldConfig { +@@ -543,6 +543,7 @@ public class PurpurWorldConfig { useNightVisionWhenRiding = getBoolean("ridable-settings.use-night-vision", useNightVisionWhenRiding); } @@ -1185,7 +1185,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 public boolean axolotlRidable = false; public double axolotlMaxHealth = 14.0D; public int axolotlBreedingTicks = 6000; -@@ -581,6 +582,7 @@ public class PurpurWorldConfig { +@@ -550,6 +551,7 @@ public class PurpurWorldConfig { axolotlRidable = getBoolean("mobs.axolotl.ridable", axolotlRidable); axolotlMaxHealth = getDouble("mobs.axolotl.attributes.max_health", axolotlMaxHealth); axolotlBreedingTicks = getInt("mobs.axolotl.breeding-delay-ticks", axolotlBreedingTicks); @@ -1193,7 +1193,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean batRidable = false; -@@ -594,6 +596,7 @@ public class PurpurWorldConfig { +@@ -563,6 +565,7 @@ public class PurpurWorldConfig { public double batArmor = 0.0D; public double batArmorToughness = 0.0D; public double batAttackKnockback = 0.0D; @@ -1201,7 +1201,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void batSettings() { batRidable = getBoolean("mobs.bat.ridable", batRidable); batRidableInWater = getBoolean("mobs.bat.ridable-in-water", batRidableInWater); -@@ -604,6 +607,7 @@ public class PurpurWorldConfig { +@@ -573,6 +576,7 @@ public class PurpurWorldConfig { set("mobs.bat.attributes.max_health", oldValue); } batMaxHealth = getDouble("mobs.bat.attributes.max_health", batMaxHealth); @@ -1209,7 +1209,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean beeRidable = false; -@@ -611,6 +615,7 @@ public class PurpurWorldConfig { +@@ -580,6 +584,7 @@ public class PurpurWorldConfig { public double beeMaxY = 256D; public double beeMaxHealth = 10.0D; public int beeBreedingTicks = 6000; @@ -1217,7 +1217,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -622,12 +627,14 @@ public class PurpurWorldConfig { +@@ -591,12 +596,14 @@ public class PurpurWorldConfig { } beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks); @@ -1232,7 +1232,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void blazeSettings() { blazeRidable = getBoolean("mobs.blaze.ridable", blazeRidable); blazeRidableInWater = getBoolean("mobs.blaze.ridable-in-water", blazeRidableInWater); -@@ -638,6 +645,7 @@ public class PurpurWorldConfig { +@@ -607,6 +614,7 @@ public class PurpurWorldConfig { set("mobs.blaze.attributes.max_health", oldValue); } blazeMaxHealth = getDouble("mobs.blaze.attributes.max_health", blazeMaxHealth); @@ -1240,7 +1240,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean catRidable = false; -@@ -648,6 +656,7 @@ public class PurpurWorldConfig { +@@ -617,6 +625,7 @@ public class PurpurWorldConfig { public int catSpawnSwampHutScanRange = 16; public int catSpawnVillageScanRange = 48; public int catBreedingTicks = 6000; @@ -1248,7 +1248,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void catSettings() { catRidable = getBoolean("mobs.cat.ridable", catRidable); catRidableInWater = getBoolean("mobs.cat.ridable-in-water", catRidableInWater); -@@ -666,11 +675,13 @@ public class PurpurWorldConfig { +@@ -635,11 +644,13 @@ public class PurpurWorldConfig { catSpawnSwampHutScanRange = getInt("mobs.cat.scan-range-for-other-cats.swamp-hut", catSpawnSwampHutScanRange); catSpawnVillageScanRange = getInt("mobs.cat.scan-range-for-other-cats.village", catSpawnVillageScanRange); catBreedingTicks = getInt("mobs.cat.breeding-delay-ticks", catBreedingTicks); @@ -1262,7 +1262,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void caveSpiderSettings() { caveSpiderRidable = getBoolean("mobs.cave_spider.ridable", caveSpiderRidable); caveSpiderRidableInWater = getBoolean("mobs.cave_spider.ridable-in-water", caveSpiderRidableInWater); -@@ -680,6 +691,7 @@ public class PurpurWorldConfig { +@@ -649,6 +660,7 @@ public class PurpurWorldConfig { set("mobs.cave_spider.attributes.max_health", oldValue); } caveSpiderMaxHealth = getDouble("mobs.cave_spider.attributes.max_health", caveSpiderMaxHealth); @@ -1270,7 +1270,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean chickenRidable = false; -@@ -687,6 +699,7 @@ public class PurpurWorldConfig { +@@ -656,6 +668,7 @@ public class PurpurWorldConfig { public double chickenMaxHealth = 4.0D; public boolean chickenRetaliate = false; public int chickenBreedingTicks = 6000; @@ -1278,7 +1278,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void chickenSettings() { chickenRidable = getBoolean("mobs.chicken.ridable", chickenRidable); chickenRidableInWater = getBoolean("mobs.chicken.ridable-in-water", chickenRidableInWater); -@@ -698,10 +711,12 @@ public class PurpurWorldConfig { +@@ -667,10 +680,12 @@ public class PurpurWorldConfig { chickenMaxHealth = getDouble("mobs.chicken.attributes.max_health", chickenMaxHealth); chickenRetaliate = getBoolean("mobs.chicken.retaliate", chickenRetaliate); chickenBreedingTicks = getInt("mobs.chicken.breeding-delay-ticks", chickenBreedingTicks); @@ -1291,7 +1291,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void codSettings() { codRidable = getBoolean("mobs.cod.ridable", codRidable); if (PurpurConfig.version < 10) { -@@ -710,6 +725,7 @@ public class PurpurWorldConfig { +@@ -679,6 +694,7 @@ public class PurpurWorldConfig { set("mobs.cod.attributes.max_health", oldValue); } codMaxHealth = getDouble("mobs.cod.attributes.max_health", codMaxHealth); @@ -1299,7 +1299,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean cowRidable = false; -@@ -717,6 +733,7 @@ public class PurpurWorldConfig { +@@ -686,6 +702,7 @@ public class PurpurWorldConfig { public double cowMaxHealth = 10.0D; public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; @@ -1307,7 +1307,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void cowSettings() { cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); -@@ -728,6 +745,7 @@ public class PurpurWorldConfig { +@@ -697,6 +714,7 @@ public class PurpurWorldConfig { cowMaxHealth = getDouble("mobs.cow.attributes.max_health", cowMaxHealth); cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks); @@ -1315,7 +1315,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean creeperRidable = false; -@@ -736,6 +754,7 @@ public class PurpurWorldConfig { +@@ -705,6 +723,7 @@ public class PurpurWorldConfig { public double creeperChargedChance = 0.0D; public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; @@ -1323,7 +1323,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -748,6 +767,7 @@ public class PurpurWorldConfig { +@@ -717,6 +736,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); @@ -1331,7 +1331,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean dolphinRidable = false; -@@ -756,6 +776,7 @@ public class PurpurWorldConfig { +@@ -725,6 +745,7 @@ public class PurpurWorldConfig { public float dolphinSpitDamage = 2.0F; public double dolphinMaxHealth = 10.0D; public boolean dolphinDisableTreasureSearching = false; @@ -1339,7 +1339,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown); -@@ -768,6 +789,7 @@ public class PurpurWorldConfig { +@@ -737,6 +758,7 @@ public class PurpurWorldConfig { } dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); @@ -1347,7 +1347,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean donkeyRidableInWater = false; -@@ -778,6 +800,7 @@ public class PurpurWorldConfig { +@@ -747,6 +769,7 @@ public class PurpurWorldConfig { public double donkeyMovementSpeedMin = 0.175D; public double donkeyMovementSpeedMax = 0.175D; public int donkeyBreedingTicks = 6000; @@ -1355,7 +1355,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void donkeySettings() { donkeyRidableInWater = getBoolean("mobs.donkey.ridable-in-water", donkeyRidableInWater); if (PurpurConfig.version < 10) { -@@ -794,6 +817,7 @@ public class PurpurWorldConfig { +@@ -763,6 +786,7 @@ public class PurpurWorldConfig { donkeyMovementSpeedMin = getDouble("mobs.donkey.attributes.movement_speed.min", donkeyMovementSpeedMin); donkeyMovementSpeedMax = getDouble("mobs.donkey.attributes.movement_speed.max", donkeyMovementSpeedMax); donkeyBreedingTicks = getInt("mobs.donkey.breeding-delay-ticks", donkeyBreedingTicks); @@ -1363,7 +1363,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean drownedRidable = false; -@@ -803,6 +827,7 @@ public class PurpurWorldConfig { +@@ -772,6 +796,7 @@ public class PurpurWorldConfig { public boolean drownedJockeyOnlyBaby = true; public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; @@ -1371,7 +1371,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -816,10 +841,12 @@ public class PurpurWorldConfig { +@@ -785,10 +810,12 @@ 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); @@ -1384,7 +1384,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void elderGuardianSettings() { elderGuardianRidable = getBoolean("mobs.elder_guardian.ridable", elderGuardianRidable); if (PurpurConfig.version < 10) { -@@ -828,6 +855,7 @@ public class PurpurWorldConfig { +@@ -797,6 +824,7 @@ public class PurpurWorldConfig { set("mobs.elder_guardian.attributes.max_health", oldValue); } elderGuardianMaxHealth = getDouble("mobs.elder_guardian.attributes.max_health", elderGuardianMaxHealth); @@ -1392,7 +1392,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean enderDragonRidable = false; -@@ -836,6 +864,7 @@ public class PurpurWorldConfig { +@@ -805,6 +833,7 @@ public class PurpurWorldConfig { public double enderDragonMaxHealth = 200.0D; public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonBypassMobGriefing = false; @@ -1400,7 +1400,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -852,6 +881,7 @@ public class PurpurWorldConfig { +@@ -821,6 +850,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); @@ -1408,7 +1408,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean endermanRidable = false; -@@ -860,6 +890,7 @@ public class PurpurWorldConfig { +@@ -829,6 +859,7 @@ public class PurpurWorldConfig { public boolean endermanAllowGriefing = true; public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; @@ -1416,7 +1416,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -872,11 +903,13 @@ public class PurpurWorldConfig { +@@ -841,11 +872,13 @@ 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); @@ -1430,7 +1430,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void endermiteSettings() { endermiteRidable = getBoolean("mobs.endermite.ridable", endermiteRidable); endermiteRidableInWater = getBoolean("mobs.endermite.ridable-in-water", endermiteRidableInWater); -@@ -886,12 +919,14 @@ public class PurpurWorldConfig { +@@ -855,12 +888,14 @@ public class PurpurWorldConfig { set("mobs.endermite.attributes.max_health", oldValue); } endermiteMaxHealth = getDouble("mobs.endermite.attributes.max_health", endermiteMaxHealth); @@ -1445,7 +1445,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void evokerSettings() { evokerRidable = getBoolean("mobs.evoker.ridable", evokerRidable); evokerRidableInWater = getBoolean("mobs.evoker.ridable-in-water", evokerRidableInWater); -@@ -902,6 +937,7 @@ public class PurpurWorldConfig { +@@ -871,6 +906,7 @@ public class PurpurWorldConfig { } evokerMaxHealth = getDouble("mobs.evoker.attributes.max_health", evokerMaxHealth); evokerBypassMobGriefing = getBoolean("mobs.evoker.bypass-mob-griefing", evokerBypassMobGriefing); @@ -1453,7 +1453,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean foxRidable = false; -@@ -910,6 +946,7 @@ public class PurpurWorldConfig { +@@ -879,6 +915,7 @@ public class PurpurWorldConfig { public boolean foxTypeChangesWithTulips = false; public int foxBreedingTicks = 6000; public boolean foxBypassMobGriefing = false; @@ -1461,7 +1461,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void foxSettings() { foxRidable = getBoolean("mobs.fox.ridable", foxRidable); foxRidableInWater = getBoolean("mobs.fox.ridable-in-water", foxRidableInWater); -@@ -922,12 +959,14 @@ public class PurpurWorldConfig { +@@ -891,12 +928,14 @@ public class PurpurWorldConfig { foxTypeChangesWithTulips = getBoolean("mobs.fox.tulips-change-type", foxTypeChangesWithTulips); foxBreedingTicks = getInt("mobs.fox.breeding-delay-ticks", foxBreedingTicks); foxBypassMobGriefing = getBoolean("mobs.fox.bypass-mob-griefing", foxBypassMobGriefing); @@ -1476,7 +1476,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void ghastSettings() { ghastRidable = getBoolean("mobs.ghast.ridable", ghastRidable); ghastRidableInWater = getBoolean("mobs.ghast.ridable-in-water", ghastRidableInWater); -@@ -938,6 +977,7 @@ public class PurpurWorldConfig { +@@ -907,6 +946,7 @@ public class PurpurWorldConfig { set("mobs.ghast.attributes.max_health", oldValue); } ghastMaxHealth = getDouble("mobs.ghast.attributes.max_health", ghastMaxHealth); @@ -1484,7 +1484,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean giantRidable = false; -@@ -949,6 +989,7 @@ public class PurpurWorldConfig { +@@ -918,6 +958,7 @@ public class PurpurWorldConfig { public float giantJumpHeight = 1.0F; public boolean giantHaveAI = false; public boolean giantHaveHostileAI = false; @@ -1492,7 +1492,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void giantSettings() { giantRidable = getBoolean("mobs.giant.ridable", giantRidable); giantRidableInWater = getBoolean("mobs.giant.ridable-in-water", giantRidableInWater); -@@ -968,30 +1009,36 @@ public class PurpurWorldConfig { +@@ -937,30 +978,36 @@ public class PurpurWorldConfig { giantJumpHeight = (float) getDouble("mobs.giant.jump-height", giantJumpHeight); giantHaveAI = getBoolean("mobs.giant.have-ai", giantHaveAI); giantHaveHostileAI = getBoolean("mobs.giant.have-hostile-ai", giantHaveHostileAI); @@ -1529,7 +1529,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void guardianSettings() { guardianRidable = getBoolean("mobs.guardian.ridable", guardianRidable); if (PurpurConfig.version < 10) { -@@ -1000,12 +1047,14 @@ public class PurpurWorldConfig { +@@ -969,12 +1016,14 @@ public class PurpurWorldConfig { set("mobs.guardian.attributes.max_health", oldValue); } guardianMaxHealth = getDouble("mobs.guardian.attributes.max_health", guardianMaxHealth); @@ -1544,7 +1544,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void hoglinSettings() { hoglinRidable = getBoolean("mobs.hoglin.ridable", hoglinRidable); hoglinRidableInWater = getBoolean("mobs.hoglin.ridable-in-water", hoglinRidableInWater); -@@ -1016,6 +1065,7 @@ public class PurpurWorldConfig { +@@ -985,6 +1034,7 @@ public class PurpurWorldConfig { } hoglinMaxHealth = getDouble("mobs.hoglin.attributes.max_health", hoglinMaxHealth); hoglinBreedingTicks = getInt("mobs.hoglin.breeding-delay-ticks", hoglinBreedingTicks); @@ -1552,7 +1552,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean horseRidableInWater = false; -@@ -1026,6 +1076,7 @@ public class PurpurWorldConfig { +@@ -995,6 +1045,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMin = 0.1125D; public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; @@ -1560,7 +1560,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1042,6 +1093,7 @@ public class PurpurWorldConfig { +@@ -1011,6 +1062,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); @@ -1568,7 +1568,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean huskRidable = false; -@@ -1051,6 +1103,7 @@ public class PurpurWorldConfig { +@@ -1020,6 +1072,7 @@ public class PurpurWorldConfig { public boolean huskJockeyOnlyBaby = true; public double huskJockeyChance = 0.05D; public boolean huskJockeyTryExistingChickens = true; @@ -1576,7 +1576,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void huskSettings() { huskRidable = getBoolean("mobs.husk.ridable", huskRidable); huskRidableInWater = getBoolean("mobs.husk.ridable-in-water", huskRidableInWater); -@@ -1064,6 +1117,7 @@ public class PurpurWorldConfig { +@@ -1033,6 +1086,7 @@ public class PurpurWorldConfig { huskJockeyOnlyBaby = getBoolean("mobs.husk.jockey.only-babies", huskJockeyOnlyBaby); huskJockeyChance = getDouble("mobs.husk.jockey.chance", huskJockeyChance); huskJockeyTryExistingChickens = getBoolean("mobs.husk.jockey.try-existing-chickens", huskJockeyTryExistingChickens); @@ -1584,7 +1584,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean illusionerRidable = false; -@@ -1071,6 +1125,7 @@ public class PurpurWorldConfig { +@@ -1040,6 +1094,7 @@ public class PurpurWorldConfig { public double illusionerMovementSpeed = 0.5D; public double illusionerFollowRange = 18.0D; public double illusionerMaxHealth = 32.0D; @@ -1592,7 +1592,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void illusionerSettings() { illusionerRidable = getBoolean("mobs.illusioner.ridable", illusionerRidable); illusionerRidableInWater = getBoolean("mobs.illusioner.ridable-in-water", illusionerRidableInWater); -@@ -1086,12 +1141,14 @@ public class PurpurWorldConfig { +@@ -1055,12 +1110,14 @@ public class PurpurWorldConfig { set("mobs.illusioner.attributes.max_health", oldValue); } illusionerMaxHealth = getDouble("mobs.illusioner.attributes.max_health", illusionerMaxHealth); @@ -1607,7 +1607,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1102,6 +1159,7 @@ public class PurpurWorldConfig { +@@ -1071,6 +1128,7 @@ public class PurpurWorldConfig { set("mobs.iron_golem.attributes.max_health", oldValue); } ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); @@ -1615,7 +1615,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean llamaRidable = false; -@@ -1113,6 +1171,7 @@ public class PurpurWorldConfig { +@@ -1082,6 +1140,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMin = 0.175D; public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; @@ -1623,7 +1623,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1130,11 +1189,13 @@ public class PurpurWorldConfig { +@@ -1099,11 +1158,13 @@ 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); @@ -1637,7 +1637,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void magmaCubeSettings() { magmaCubeRidable = getBoolean("mobs.magma_cube.ridable", magmaCubeRidable); magmaCubeRidableInWater = getBoolean("mobs.magma_cube.ridable-in-water", magmaCubeRidableInWater); -@@ -1144,12 +1205,14 @@ public class PurpurWorldConfig { +@@ -1113,12 +1174,14 @@ public class PurpurWorldConfig { set("mobs.magma_cube.attributes.max_health", oldValue); } magmaCubeMaxHealth = getString("mobs.magma_cube.attributes.max_health", magmaCubeMaxHealth); @@ -1652,7 +1652,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void mooshroomSettings() { mooshroomRidable = getBoolean("mobs.mooshroom.ridable", mooshroomRidable); mooshroomRidableInWater = getBoolean("mobs.mooshroom.ridable-in-water", mooshroomRidableInWater); -@@ -1160,6 +1223,7 @@ public class PurpurWorldConfig { +@@ -1129,6 +1192,7 @@ public class PurpurWorldConfig { } mooshroomMaxHealth = getDouble("mobs.mooshroom.attributes.max_health", mooshroomMaxHealth); mooshroomBreedingTicks = getInt("mobs.mooshroom.breeding-delay-ticks", mooshroomBreedingTicks); @@ -1660,7 +1660,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean muleRidableInWater = false; -@@ -1170,6 +1234,7 @@ public class PurpurWorldConfig { +@@ -1139,6 +1203,7 @@ public class PurpurWorldConfig { public double muleMovementSpeedMin = 0.175D; public double muleMovementSpeedMax = 0.175D; public int muleBreedingTicks = 6000; @@ -1668,7 +1668,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void muleSettings() { muleRidableInWater = getBoolean("mobs.mule.ridable-in-water", muleRidableInWater); if (PurpurConfig.version < 10) { -@@ -1186,12 +1251,14 @@ public class PurpurWorldConfig { +@@ -1155,12 +1220,14 @@ public class PurpurWorldConfig { muleMovementSpeedMin = getDouble("mobs.mule.attributes.movement_speed.min", muleMovementSpeedMin); muleMovementSpeedMax = getDouble("mobs.mule.attributes.movement_speed.max", muleMovementSpeedMax); muleBreedingTicks = getInt("mobs.mule.breeding-delay-ticks", muleBreedingTicks); @@ -1683,7 +1683,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void ocelotSettings() { ocelotRidable = getBoolean("mobs.ocelot.ridable", ocelotRidable); ocelotRidableInWater = getBoolean("mobs.ocelot.ridable-in-water", ocelotRidableInWater); -@@ -1202,12 +1269,14 @@ public class PurpurWorldConfig { +@@ -1171,12 +1238,14 @@ public class PurpurWorldConfig { } ocelotMaxHealth = getDouble("mobs.ocelot.attributes.max_health", ocelotMaxHealth); ocelotBreedingTicks = getInt("mobs.ocelot.breeding-delay-ticks", ocelotBreedingTicks); @@ -1698,7 +1698,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void pandaSettings() { pandaRidable = getBoolean("mobs.panda.ridable", pandaRidable); pandaRidableInWater = getBoolean("mobs.panda.ridable-in-water", pandaRidableInWater); -@@ -1218,12 +1287,14 @@ public class PurpurWorldConfig { +@@ -1187,12 +1256,14 @@ public class PurpurWorldConfig { } pandaMaxHealth = getDouble("mobs.panda.attributes.max_health", pandaMaxHealth); pandaBreedingTicks = getInt("mobs.panda.breeding-delay-ticks", pandaBreedingTicks); @@ -1713,7 +1713,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1234,6 +1305,7 @@ public class PurpurWorldConfig { +@@ -1203,6 +1274,7 @@ public class PurpurWorldConfig { set("mobs.parrot.attributes.max_health", oldValue); } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); @@ -1721,7 +1721,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean phantomRidable = false; -@@ -1262,6 +1334,7 @@ public class PurpurWorldConfig { +@@ -1231,6 +1303,7 @@ public class PurpurWorldConfig { public int phantomBurnInLight = 0; public boolean phantomIgnorePlayersWithTorch = false; public boolean phantomBurnInDaylight = true; @@ -1729,7 +1729,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void phantomSettings() { phantomRidable = getBoolean("mobs.phantom.ridable", phantomRidable); phantomRidableInWater = getBoolean("mobs.phantom.ridable-in-water", phantomRidableInWater); -@@ -1294,6 +1367,7 @@ public class PurpurWorldConfig { +@@ -1263,6 +1336,7 @@ public class PurpurWorldConfig { phantomBurnInLight = getInt("mobs.phantom.burn-in-light", phantomBurnInLight); phantomBurnInDaylight = getBoolean("mobs.phantom.burn-in-daylight", phantomBurnInDaylight); phantomIgnorePlayersWithTorch = getBoolean("mobs.phantom.ignore-players-with-torch", phantomIgnorePlayersWithTorch); @@ -1737,7 +1737,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean pigRidable = false; -@@ -1301,6 +1375,7 @@ public class PurpurWorldConfig { +@@ -1270,6 +1344,7 @@ public class PurpurWorldConfig { public double pigMaxHealth = 10.0D; public boolean pigGiveSaddleBack = false; public int pigBreedingTicks = 6000; @@ -1745,7 +1745,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void pigSettings() { pigRidable = getBoolean("mobs.pig.ridable", pigRidable); pigRidableInWater = getBoolean("mobs.pig.ridable-in-water", pigRidableInWater); -@@ -1312,12 +1387,14 @@ public class PurpurWorldConfig { +@@ -1281,12 +1356,14 @@ public class PurpurWorldConfig { pigMaxHealth = getDouble("mobs.pig.attributes.max_health", pigMaxHealth); pigGiveSaddleBack = getBoolean("mobs.pig.give-saddle-back", pigGiveSaddleBack); pigBreedingTicks = getInt("mobs.pig.breeding-delay-ticks", pigBreedingTicks); @@ -1760,7 +1760,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1328,11 +1405,13 @@ public class PurpurWorldConfig { +@@ -1297,11 +1374,13 @@ public class PurpurWorldConfig { } piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); @@ -1774,7 +1774,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void piglinBruteSettings() { piglinBruteRidable = getBoolean("mobs.piglin_brute.ridable", piglinBruteRidable); piglinBruteRidableInWater = getBoolean("mobs.piglin_brute.ridable-in-water", piglinBruteRidableInWater); -@@ -1342,12 +1421,14 @@ public class PurpurWorldConfig { +@@ -1311,12 +1390,14 @@ public class PurpurWorldConfig { set("mobs.piglin_brute.attributes.max_health", oldValue); } piglinBruteMaxHealth = getDouble("mobs.piglin_brute.attributes.max_health", piglinBruteMaxHealth); @@ -1789,7 +1789,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void pillagerSettings() { pillagerRidable = getBoolean("mobs.pillager.ridable", pillagerRidable); pillagerRidableInWater = getBoolean("mobs.pillager.ridable-in-water", pillagerRidableInWater); -@@ -1358,6 +1439,7 @@ public class PurpurWorldConfig { +@@ -1327,6 +1408,7 @@ public class PurpurWorldConfig { } pillagerMaxHealth = getDouble("mobs.pillager.attributes.max_health", pillagerMaxHealth); pillagerBypassMobGriefing = getBoolean("mobs.pillager.bypass-mob-griefing", pillagerBypassMobGriefing); @@ -1797,7 +1797,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean polarBearRidable = false; -@@ -1366,6 +1448,7 @@ public class PurpurWorldConfig { +@@ -1335,6 +1417,7 @@ public class PurpurWorldConfig { public String polarBearBreedableItemString = ""; public Item polarBearBreedableItem = null; public int polarBearBreedingTicks = 6000; @@ -1805,7 +1805,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void polarBearSettings() { polarBearRidable = getBoolean("mobs.polar_bear.ridable", polarBearRidable); polarBearRidableInWater = getBoolean("mobs.polar_bear.ridable-in-water", polarBearRidableInWater); -@@ -1379,10 +1462,12 @@ public class PurpurWorldConfig { +@@ -1348,10 +1431,12 @@ public class PurpurWorldConfig { Item item = Registry.ITEM.get(new ResourceLocation(polarBearBreedableItemString)); if (item != Items.AIR) polarBearBreedableItem = item; polarBearBreedingTicks = getInt("mobs.polar_bear.breeding-delay-ticks", polarBearBreedingTicks); @@ -1818,7 +1818,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void pufferfishSettings() { pufferfishRidable = getBoolean("mobs.pufferfish.ridable", pufferfishRidable); if (PurpurConfig.version < 10) { -@@ -1391,6 +1476,7 @@ public class PurpurWorldConfig { +@@ -1360,6 +1445,7 @@ public class PurpurWorldConfig { set("mobs.pufferfish.attributes.max_health", oldValue); } pufferfishMaxHealth = getDouble("mobs.pufferfish.attributes.max_health", pufferfishMaxHealth); @@ -1826,7 +1826,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean rabbitRidable = false; -@@ -1400,6 +1486,7 @@ public class PurpurWorldConfig { +@@ -1369,6 +1455,7 @@ public class PurpurWorldConfig { public double rabbitNaturalKiller = 0.0D; public int rabbitBreedingTicks = 6000; public boolean rabbitBypassMobGriefing = false; @@ -1834,7 +1834,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void rabbitSettings() { rabbitRidable = getBoolean("mobs.rabbit.ridable", rabbitRidable); rabbitRidableInWater = getBoolean("mobs.rabbit.ridable-in-water", rabbitRidableInWater); -@@ -1413,12 +1500,14 @@ public class PurpurWorldConfig { +@@ -1382,12 +1469,14 @@ public class PurpurWorldConfig { rabbitNaturalKiller = getDouble("mobs.rabbit.spawn-killer-rabbit-chance", rabbitNaturalKiller); rabbitBreedingTicks = getInt("mobs.rabbit.breeding-delay-ticks", rabbitBreedingTicks); rabbitBypassMobGriefing = getBoolean("mobs.rabbit.bypass-mob-griefing", rabbitBypassMobGriefing); @@ -1849,7 +1849,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1429,10 +1518,12 @@ public class PurpurWorldConfig { +@@ -1398,10 +1487,12 @@ public class PurpurWorldConfig { } ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); @@ -1862,7 +1862,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void salmonSettings() { salmonRidable = getBoolean("mobs.salmon.ridable", salmonRidable); if (PurpurConfig.version < 10) { -@@ -1441,6 +1532,7 @@ public class PurpurWorldConfig { +@@ -1410,6 +1501,7 @@ public class PurpurWorldConfig { set("mobs.salmon.attributes.max_health", oldValue); } salmonMaxHealth = getDouble("mobs.salmon.attributes.max_health", salmonMaxHealth); @@ -1870,7 +1870,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean sheepRidable = false; -@@ -1448,6 +1540,7 @@ public class PurpurWorldConfig { +@@ -1417,6 +1509,7 @@ public class PurpurWorldConfig { public double sheepMaxHealth = 8.0D; public int sheepBreedingTicks = 6000; public boolean sheepBypassMobGriefing = false; @@ -1878,7 +1878,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void sheepSettings() { sheepRidable = getBoolean("mobs.sheep.ridable", sheepRidable); sheepRidableInWater = getBoolean("mobs.sheep.ridable-in-water", sheepRidableInWater); -@@ -1459,11 +1552,13 @@ public class PurpurWorldConfig { +@@ -1428,11 +1521,13 @@ public class PurpurWorldConfig { sheepMaxHealth = getDouble("mobs.sheep.attributes.max_health", sheepMaxHealth); sheepBreedingTicks = getInt("mobs.sheep.breeding-delay-ticks", sheepBreedingTicks); sheepBypassMobGriefing = getBoolean("mobs.sheep.bypass-mob-griefing", sheepBypassMobGriefing); @@ -1892,7 +1892,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1473,12 +1568,14 @@ public class PurpurWorldConfig { +@@ -1442,12 +1537,14 @@ public class PurpurWorldConfig { set("mobs.shulker.attributes.max_health", oldValue); } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); @@ -1907,7 +1907,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void silverfishSettings() { silverfishRidable = getBoolean("mobs.silverfish.ridable", silverfishRidable); silverfishRidableInWater = getBoolean("mobs.silverfish.ridable-in-water", silverfishRidableInWater); -@@ -1489,11 +1586,13 @@ public class PurpurWorldConfig { +@@ -1458,11 +1555,13 @@ public class PurpurWorldConfig { } silverfishMaxHealth = getDouble("mobs.silverfish.attributes.max_health", silverfishMaxHealth); silverfishBypassMobGriefing = getBoolean("mobs.silverfish.bypass-mob-griefing", silverfishBypassMobGriefing); @@ -1921,7 +1921,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void skeletonSettings() { skeletonRidable = getBoolean("mobs.skeleton.ridable", skeletonRidable); skeletonRidableInWater = getBoolean("mobs.skeleton.ridable-in-water", skeletonRidableInWater); -@@ -1503,6 +1602,7 @@ public class PurpurWorldConfig { +@@ -1472,6 +1571,7 @@ public class PurpurWorldConfig { set("mobs.skeleton.attributes.max_health", oldValue); } skeletonMaxHealth = getDouble("mobs.skeleton.attributes.max_health", skeletonMaxHealth); @@ -1929,7 +1929,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean skeletonHorseRidableInWater = false; -@@ -1513,6 +1613,7 @@ public class PurpurWorldConfig { +@@ -1482,6 +1582,7 @@ public class PurpurWorldConfig { public double skeletonHorseJumpStrengthMax = 1.0D; public double skeletonHorseMovementSpeedMin = 0.2D; public double skeletonHorseMovementSpeedMax = 0.2D; @@ -1937,7 +1937,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void skeletonHorseSettings() { skeletonHorseRidableInWater = getBoolean("mobs.skeleton_horse.ridable-in-water", skeletonHorseRidableInWater); skeletonHorseCanSwim = getBoolean("mobs.skeleton_horse.can-swim", skeletonHorseCanSwim); -@@ -1528,12 +1629,14 @@ public class PurpurWorldConfig { +@@ -1497,12 +1598,14 @@ public class PurpurWorldConfig { skeletonHorseJumpStrengthMax = getDouble("mobs.skeleton_horse.attributes.jump_strength.max", skeletonHorseJumpStrengthMax); skeletonHorseMovementSpeedMin = getDouble("mobs.skeleton_horse.attributes.movement_speed.min", skeletonHorseMovementSpeedMin); skeletonHorseMovementSpeedMax = getDouble("mobs.skeleton_horse.attributes.movement_speed.max", skeletonHorseMovementSpeedMax); @@ -1952,7 +1952,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void slimeSettings() { slimeRidable = getBoolean("mobs.slime.ridable", slimeRidable); slimeRidableInWater = getBoolean("mobs.slime.ridable-in-water", slimeRidableInWater); -@@ -1544,6 +1647,7 @@ public class PurpurWorldConfig { +@@ -1513,6 +1616,7 @@ public class PurpurWorldConfig { } slimeMaxHealth = getString("mobs.slime.attributes.max_health", slimeMaxHealth); slimeMaxHealthCache.clear(); @@ -1960,7 +1960,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean snowGolemRidable = false; -@@ -1557,6 +1661,7 @@ public class PurpurWorldConfig { +@@ -1526,6 +1630,7 @@ public class PurpurWorldConfig { public float snowGolemSnowBallModifier = 10.0F; public double snowGolemAttackDistance = 1.25D; public boolean snowGolemBypassMobGriefing = false; @@ -1968,7 +1968,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void snowGolemSettings() { snowGolemRidable = getBoolean("mobs.snow_golem.ridable", snowGolemRidable); snowGolemRidableInWater = getBoolean("mobs.snow_golem.ridable-in-water", snowGolemRidableInWater); -@@ -1574,6 +1679,7 @@ public class PurpurWorldConfig { +@@ -1543,6 +1648,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); @@ -1976,7 +1976,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean squidRidable = false; -@@ -1581,6 +1687,7 @@ public class PurpurWorldConfig { +@@ -1550,6 +1656,7 @@ public class PurpurWorldConfig { public boolean squidImmuneToEAR = true; public double squidOffsetWaterCheck = 0.0D; public boolean squidsCanFly = false; @@ -1984,7 +1984,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void squidSettings() { squidRidable = getBoolean("mobs.squid.ridable", squidRidable); if (PurpurConfig.version < 10) { -@@ -1592,11 +1699,13 @@ public class PurpurWorldConfig { +@@ -1561,11 +1668,13 @@ public class PurpurWorldConfig { squidImmuneToEAR = getBoolean("mobs.squid.immune-to-EAR", squidImmuneToEAR); squidOffsetWaterCheck = getDouble("mobs.squid.water-offset-check", squidOffsetWaterCheck); squidsCanFly = getBoolean("mobs.squid.can-fly", squidsCanFly); @@ -1998,7 +1998,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void spiderSettings() { spiderRidable = getBoolean("mobs.spider.ridable", spiderRidable); spiderRidableInWater = getBoolean("mobs.spider.ridable-in-water", spiderRidableInWater); -@@ -1606,11 +1715,13 @@ public class PurpurWorldConfig { +@@ -1575,11 +1684,13 @@ public class PurpurWorldConfig { set("mobs.spider.attributes.max_health", oldValue); } spiderMaxHealth = getDouble("mobs.spider.attributes.max_health", spiderMaxHealth); @@ -2012,7 +2012,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void straySettings() { strayRidable = getBoolean("mobs.stray.ridable", strayRidable); strayRidableInWater = getBoolean("mobs.stray.ridable-in-water", strayRidableInWater); -@@ -1620,6 +1731,7 @@ public class PurpurWorldConfig { +@@ -1589,6 +1700,7 @@ public class PurpurWorldConfig { set("mobs.stray.attributes.max_health", oldValue); } strayMaxHealth = getDouble("mobs.stray.attributes.max_health", strayMaxHealth); @@ -2020,7 +2020,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean striderRidable = false; -@@ -1627,6 +1739,7 @@ public class PurpurWorldConfig { +@@ -1596,6 +1708,7 @@ public class PurpurWorldConfig { public double striderMaxHealth = 20.0D; public int striderBreedingTicks = 6000; public boolean striderGiveSaddleBack = false; @@ -2028,7 +2028,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void striderSettings() { striderRidable = getBoolean("mobs.strider.ridable", striderRidable); striderRidableInWater = getBoolean("mobs.strider.ridable-in-water", striderRidableInWater); -@@ -1638,6 +1751,7 @@ public class PurpurWorldConfig { +@@ -1607,6 +1720,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); @@ -2036,7 +2036,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean traderLlamaRidable = false; -@@ -1649,6 +1763,7 @@ public class PurpurWorldConfig { +@@ -1618,6 +1732,7 @@ public class PurpurWorldConfig { public double traderLlamaMovementSpeedMin = 0.175D; public double traderLlamaMovementSpeedMax = 0.175D; public int traderLlamaBreedingTicks = 6000; @@ -2044,7 +2044,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void traderLlamaSettings() { traderLlamaRidable = getBoolean("mobs.trader_llama.ridable", traderLlamaRidable); traderLlamaRidableInWater = getBoolean("mobs.trader_llama.ridable-in-water", traderLlamaRidableInWater); -@@ -1666,10 +1781,12 @@ public class PurpurWorldConfig { +@@ -1635,10 +1750,12 @@ public class PurpurWorldConfig { traderLlamaMovementSpeedMin = getDouble("mobs.trader_llama.attributes.movement_speed.min", traderLlamaMovementSpeedMin); traderLlamaMovementSpeedMax = getDouble("mobs.trader_llama.attributes.movement_speed.max", traderLlamaMovementSpeedMax); traderLlamaBreedingTicks = getInt("mobs.trader_llama.breeding-delay-ticks", traderLlamaBreedingTicks); @@ -2057,7 +2057,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void tropicalFishSettings() { tropicalFishRidable = getBoolean("mobs.tropical_fish.ridable", tropicalFishRidable); if (PurpurConfig.version < 10) { -@@ -1678,6 +1795,7 @@ public class PurpurWorldConfig { +@@ -1647,6 +1764,7 @@ public class PurpurWorldConfig { set("mobs.tropical_fish.attributes.max_health", oldValue); } tropicalFishMaxHealth = getDouble("mobs.tropical_fish.attributes.max_health", tropicalFishMaxHealth); @@ -2065,7 +2065,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean turtleRidable = false; -@@ -1687,6 +1805,7 @@ public class PurpurWorldConfig { +@@ -1656,6 +1774,7 @@ public class PurpurWorldConfig { public boolean turtleEggsBreakFromItems = true; public boolean turtleEggsBreakFromMinecarts = true; public int turtleBreedingTicks = 6000; @@ -2073,7 +2073,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void turtleEggSettings() { turtleRidable = getBoolean("mobs.turtle.ridable", turtleRidable); turtleRidableInWater = getBoolean("mobs.turtle.ridable-in-water", turtleRidableInWater); -@@ -1700,12 +1819,14 @@ public class PurpurWorldConfig { +@@ -1669,12 +1788,14 @@ public class PurpurWorldConfig { turtleEggsBreakFromItems = getBoolean("blocks.turtle_egg.break-from-items", turtleEggsBreakFromItems); turtleEggsBreakFromMinecarts = getBoolean("blocks.turtle_egg.break-from-minecarts", turtleEggsBreakFromMinecarts); turtleBreedingTicks = getInt("mobs.turtle.breeding-delay-ticks", turtleBreedingTicks); @@ -2088,7 +2088,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void vexSettings() { vexRidable = getBoolean("mobs.vex.ridable", vexRidable); vexRidableInWater = getBoolean("mobs.vex.ridable-in-water", vexRidableInWater); -@@ -1716,6 +1837,7 @@ public class PurpurWorldConfig { +@@ -1685,6 +1806,7 @@ public class PurpurWorldConfig { set("mobs.vex.attributes.max_health", oldValue); } vexMaxHealth = getDouble("mobs.vex.attributes.max_health", vexMaxHealth); @@ -2096,7 +2096,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean villagerRidable = false; -@@ -1732,6 +1854,7 @@ public class PurpurWorldConfig { +@@ -1701,6 +1823,7 @@ public class PurpurWorldConfig { public boolean villagerClericsFarmWarts = false; public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; @@ -2104,7 +2104,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1752,12 +1875,14 @@ public class PurpurWorldConfig { +@@ -1721,12 +1844,14 @@ 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); @@ -2119,7 +2119,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void vindicatorSettings() { vindicatorRidable = getBoolean("mobs.vindicator.ridable", vindicatorRidable); vindicatorRidableInWater = getBoolean("mobs.vindicator.ridable-in-water", vindicatorRidableInWater); -@@ -1768,6 +1893,7 @@ public class PurpurWorldConfig { +@@ -1737,6 +1862,7 @@ public class PurpurWorldConfig { } vindicatorMaxHealth = getDouble("mobs.vindicator.attributes.max_health", vindicatorMaxHealth); vindicatorJohnnySpawnChance = getDouble("mobs.vindicator.johnny.spawn-chance", vindicatorJohnnySpawnChance); @@ -2127,7 +2127,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean wanderingTraderRidable = false; -@@ -1775,6 +1901,7 @@ public class PurpurWorldConfig { +@@ -1744,6 +1870,7 @@ public class PurpurWorldConfig { public double wanderingTraderMaxHealth = 20.0D; public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; @@ -2135,7 +2135,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -1786,11 +1913,13 @@ public class PurpurWorldConfig { +@@ -1755,11 +1882,13 @@ 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); @@ -2149,7 +2149,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void witchSettings() { witchRidable = getBoolean("mobs.witch.ridable", witchRidable); witchRidableInWater = getBoolean("mobs.witch.ridable-in-water", witchRidableInWater); -@@ -1800,6 +1929,7 @@ public class PurpurWorldConfig { +@@ -1769,6 +1898,7 @@ public class PurpurWorldConfig { set("mobs.witch.attributes.max_health", oldValue); } witchMaxHealth = getDouble("mobs.witch.attributes.max_health", witchMaxHealth); @@ -2157,7 +2157,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean witherRidable = false; -@@ -1809,6 +1939,7 @@ public class PurpurWorldConfig { +@@ -1778,6 +1908,7 @@ public class PurpurWorldConfig { public float witherHealthRegenAmount = 1.0f; public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; @@ -2165,7 +2165,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1826,11 +1957,13 @@ public class PurpurWorldConfig { +@@ -1795,11 +1926,13 @@ 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); @@ -2179,7 +2179,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void witherSkeletonSettings() { witherSkeletonRidable = getBoolean("mobs.wither_skeleton.ridable", witherSkeletonRidable); witherSkeletonRidableInWater = getBoolean("mobs.wither_skeleton.ridable-in-water", witherSkeletonRidableInWater); -@@ -1840,6 +1973,7 @@ public class PurpurWorldConfig { +@@ -1809,6 +1942,7 @@ public class PurpurWorldConfig { set("mobs.wither_skeleton.attributes.max_health", oldValue); } witherSkeletonMaxHealth = getDouble("mobs.wither_skeleton.attributes.max_health", witherSkeletonMaxHealth); @@ -2187,7 +2187,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean wolfRidable = false; -@@ -1849,6 +1983,7 @@ public class PurpurWorldConfig { +@@ -1818,6 +1952,7 @@ public class PurpurWorldConfig { public boolean wolfMilkCuresRabies = true; public double wolfNaturalRabid = 0.0D; public int wolfBreedingTicks = 6000; @@ -2195,7 +2195,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void wolfSettings() { wolfRidable = getBoolean("mobs.wolf.ridable", wolfRidable); wolfRidableInWater = getBoolean("mobs.wolf.ridable-in-water", wolfRidableInWater); -@@ -1866,11 +2001,13 @@ public class PurpurWorldConfig { +@@ -1835,11 +1970,13 @@ public class PurpurWorldConfig { wolfMilkCuresRabies = getBoolean("mobs.wolf.milk-cures-rabid-wolves", wolfMilkCuresRabies); wolfNaturalRabid = getDouble("mobs.wolf.spawn-rabid-chance", wolfNaturalRabid); wolfBreedingTicks = getInt("mobs.wolf.breeding-delay-ticks", wolfBreedingTicks); @@ -2209,7 +2209,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void zoglinSettings() { zoglinRidable = getBoolean("mobs.zoglin.ridable", zoglinRidable); zoglinRidableInWater = getBoolean("mobs.zoglin.ridable-in-water", zoglinRidableInWater); -@@ -1880,6 +2017,7 @@ public class PurpurWorldConfig { +@@ -1849,6 +1986,7 @@ public class PurpurWorldConfig { set("mobs.zoglin.attributes.max_health", oldValue); } zoglinMaxHealth = getDouble("mobs.zoglin.attributes.max_health", zoglinMaxHealth); @@ -2217,7 +2217,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean zombieRidable = false; -@@ -1891,6 +2029,7 @@ public class PurpurWorldConfig { +@@ -1860,6 +1998,7 @@ public class PurpurWorldConfig { public boolean zombieJockeyTryExistingChickens = true; public boolean zombieAggressiveTowardsVillagerWhenLagging = true; public boolean zombieBypassMobGriefing = false; @@ -2225,7 +2225,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void zombieSettings() { zombieRidable = getBoolean("mobs.zombie.ridable", zombieRidable); zombieRidableInWater = getBoolean("mobs.zombie.ridable-in-water", zombieRidableInWater); -@@ -1906,6 +2045,7 @@ public class PurpurWorldConfig { +@@ -1875,6 +2014,7 @@ public class PurpurWorldConfig { zombieJockeyTryExistingChickens = getBoolean("mobs.zombie.jockey.try-existing-chickens", zombieJockeyTryExistingChickens); zombieAggressiveTowardsVillagerWhenLagging = getBoolean("mobs.zombie.aggressive-towards-villager-when-lagging", zombieAggressiveTowardsVillagerWhenLagging); zombieBypassMobGriefing = getBoolean("mobs.zombie.bypass-mob-griefing", zombieBypassMobGriefing); @@ -2233,7 +2233,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean zombieHorseRidableInWater = false; -@@ -1917,6 +2057,7 @@ public class PurpurWorldConfig { +@@ -1886,6 +2026,7 @@ public class PurpurWorldConfig { public double zombieHorseMovementSpeedMin = 0.2D; public double zombieHorseMovementSpeedMax = 0.2D; public double zombieHorseSpawnChance = 0.0D; @@ -2241,7 +2241,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void zombieHorseSettings() { zombieHorseRidableInWater = getBoolean("mobs.zombie_horse.ridable-in-water", zombieHorseRidableInWater); zombieHorseCanSwim = getBoolean("mobs.zombie_horse.can-swim", zombieHorseCanSwim); -@@ -1933,6 +2074,7 @@ public class PurpurWorldConfig { +@@ -1902,6 +2043,7 @@ public class PurpurWorldConfig { zombieHorseMovementSpeedMin = getDouble("mobs.zombie_horse.attributes.movement_speed.min", zombieHorseMovementSpeedMin); zombieHorseMovementSpeedMax = getDouble("mobs.zombie_horse.attributes.movement_speed.max", zombieHorseMovementSpeedMax); zombieHorseSpawnChance = getDouble("mobs.zombie_horse.spawn-chance", zombieHorseSpawnChance); @@ -2249,7 +2249,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean zombieVillagerRidable = false; -@@ -1942,6 +2084,7 @@ public class PurpurWorldConfig { +@@ -1911,6 +2053,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerJockeyOnlyBaby = true; public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; @@ -2257,7 +2257,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -1955,6 +2098,7 @@ public class PurpurWorldConfig { +@@ -1924,6 +2067,7 @@ 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); @@ -2265,7 +2265,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 } public boolean zombifiedPiglinRidable = false; -@@ -1965,6 +2109,7 @@ public class PurpurWorldConfig { +@@ -1934,6 +2078,7 @@ public class PurpurWorldConfig { public double zombifiedPiglinJockeyChance = 0.05D; public boolean zombifiedPiglinJockeyTryExistingChickens = true; public boolean zombifiedPiglinCountAsPlayerKillWhenAngry = true; @@ -2273,7 +2273,7 @@ index f1f4eda3adb8ef19958472558e91c585b9646c6b..5ab1aa6e2ff6bb267c5ba3993e9d7f87 private void zombifiedPiglinSettings() { zombifiedPiglinRidable = getBoolean("mobs.zombified_piglin.ridable", zombifiedPiglinRidable); zombifiedPiglinRidableInWater = getBoolean("mobs.zombified_piglin.ridable-in-water", zombifiedPiglinRidableInWater); -@@ -1979,5 +2124,6 @@ public class PurpurWorldConfig { +@@ -1948,5 +2093,6 @@ public class PurpurWorldConfig { zombifiedPiglinJockeyChance = getDouble("mobs.zombified_piglin.jockey.chance", zombifiedPiglinJockeyChance); 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/0141-Config-to-always-tame-in-Creative.patch b/patches/server/0139-Config-to-always-tame-in-Creative.patch similarity index 98% rename from patches/server/0141-Config-to-always-tame-in-Creative.patch rename to patches/server/0139-Config-to-always-tame-in-Creative.patch index 815936967..372a24067 100644 --- a/patches/server/0141-Config-to-always-tame-in-Creative.patch +++ b/patches/server/0139-Config-to-always-tame-in-Creative.patch @@ -59,7 +59,7 @@ index 663683a50f7a1125f406b6ec8bf7a0419be5f36a..713fe8ac2293fe2e60c5834b3d6fd2f1 this.navigation.stop(); this.setTarget((LivingEntity) null); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5ab1aa6e2ff6bb267c5ba3993e9d7f879fe3477f..143c29bb648ea7630d9d812d16c10020f89f4b7e 100644 +index 7937bad1b6e9c62f23bcdccc11824ff96e77afac..47726960c97b18a6183941bf27500b3b2a17776e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -385,6 +385,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0142-End-crystal-explosion-options.patch b/patches/server/0140-End-crystal-explosion-options.patch similarity index 97% rename from patches/server/0142-End-crystal-explosion-options.patch rename to patches/server/0140-End-crystal-explosion-options.patch index f38665312..1ac54f8eb 100644 --- a/patches/server/0142-End-crystal-explosion-options.patch +++ b/patches/server/0140-End-crystal-explosion-options.patch @@ -52,10 +52,10 @@ index f8863cabad1bd0c3c2c62b8e17612d9559237d68..06c6addfa2a8dab1ad52a3588e9aeba5 this.onDestroyedBy(source); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 143c29bb648ea7630d9d812d16c10020f89f4b7e..489487cc533b47cca10526d649fc7d0e1571dd2e 100644 +index 47726960c97b18a6183941bf27500b3b2a17776e..11a7f6dbf3dd85ac896a33b66b3e681e68f6ad18 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -463,6 +463,35 @@ public class PurpurWorldConfig { +@@ -456,6 +456,35 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } diff --git a/patches/server/0143-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch b/patches/server/0141-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch similarity index 92% rename from patches/server/0143-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch rename to patches/server/0141-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch index ce3e48062..b8a6a1e60 100644 --- a/patches/server/0143-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch +++ b/patches/server/0141-Configs-for-if-Wither-Ender-Dragon-can-ride-vehicles.patch @@ -29,10 +29,10 @@ index 3b752f97f75c78657f37215ecd92b7460a71f090..5ef45fe1dac1df779727f9c441f7e651 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 489487cc533b47cca10526d649fc7d0e1571dd2e..b55e4e43554ef1e4afcc25101cfa82f0dd95db11 100644 +index 11a7f6dbf3dd85ac896a33b66b3e681e68f6ad18..2088887b61bfc02e1d00e645682879123df30e68 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -896,6 +896,7 @@ public class PurpurWorldConfig { +@@ -865,6 +865,7 @@ public class PurpurWorldConfig { public boolean enderDragonAlwaysDropsFullExp = false; public boolean enderDragonBypassMobGriefing = false; public boolean enderDragonTakeDamageFromWater = false; @@ -40,7 +40,7 @@ index 489487cc533b47cca10526d649fc7d0e1571dd2e..b55e4e43554ef1e4afcc25101cfa82f0 private void enderDragonSettings() { enderDragonRidable = getBoolean("mobs.ender_dragon.ridable", enderDragonRidable); enderDragonRidableInWater = getBoolean("mobs.ender_dragon.ridable-in-water", enderDragonRidableInWater); -@@ -913,6 +914,7 @@ public class PurpurWorldConfig { +@@ -882,6 +883,7 @@ public class PurpurWorldConfig { enderDragonAlwaysDropsFullExp = getBoolean("mobs.ender_dragon.always-drop-full-exp", enderDragonAlwaysDropsFullExp); enderDragonBypassMobGriefing = getBoolean("mobs.ender_dragon.bypass-mob-griefing", enderDragonBypassMobGriefing); enderDragonTakeDamageFromWater = getBoolean("mobs.ender_dragon.takes-damage-from-water", enderDragonTakeDamageFromWater); @@ -48,7 +48,7 @@ index 489487cc533b47cca10526d649fc7d0e1571dd2e..b55e4e43554ef1e4afcc25101cfa82f0 } public boolean endermanRidable = false; -@@ -1971,6 +1973,7 @@ public class PurpurWorldConfig { +@@ -1940,6 +1942,7 @@ public class PurpurWorldConfig { public int witherHealthRegenDelay = 20; public boolean witherBypassMobGriefing = false; public boolean witherTakeDamageFromWater = false; @@ -56,7 +56,7 @@ index 489487cc533b47cca10526d649fc7d0e1571dd2e..b55e4e43554ef1e4afcc25101cfa82f0 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -1989,6 +1992,7 @@ public class PurpurWorldConfig { +@@ -1958,6 +1961,7 @@ public class PurpurWorldConfig { witherHealthRegenDelay = getInt("mobs.wither.health-regen-delay", witherHealthRegenDelay); witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); diff --git a/patches/server/0144-Dont-run-with-scissors.patch b/patches/server/0142-Dont-run-with-scissors.patch similarity index 91% rename from patches/server/0144-Dont-run-with-scissors.patch rename to patches/server/0142-Dont-run-with-scissors.patch index e0aaefb9c..455302d8c 100644 --- a/patches/server/0144-Dont-run-with-scissors.patch +++ b/patches/server/0142-Dont-run-with-scissors.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Dont run with scissors! diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 99ec8a60f51b8679f972c938c18cde3a6bfe64de..d372bb18c85665220d8156b21e743ec88bf29930 100644 +index 5404735daf4d914d6981bc3c0ebafe087f8b6f37..2380bab916cf628c928675229db0bbae76db92e2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1528,6 +1528,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1573,6 +1573,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.player.resetFallDistance(); } @@ -22,9 +22,9 @@ index 99ec8a60f51b8679f972c938c18cde3a6bfe64de..d372bb18c85665220d8156b21e743ec8 this.player.checkMovementStatistics(this.player.getX() - d3, this.player.getY() - d4, this.player.getZ() - d5); this.lastGoodX = this.player.getX(); this.lastGoodY = this.player.getY(); -@@ -1540,6 +1547,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser - } +@@ -1606,6 +1613,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } + // Paper end - optimise out extra getCubes + // Purpur start + public boolean isScissor(ItemStack stack) { @@ -36,7 +36,7 @@ index 99ec8a60f51b8679f972c938c18cde3a6bfe64de..d372bb18c85665220d8156b21e743ec8 Iterable iterable = world.getCollisions(this.player, this.player.getBoundingBox().deflate(9.999999747378752E-6D)); VoxelShape voxelshape = Shapes.create(box.deflate(9.999999747378752E-6D)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 79bcb015a7a29b41552e5173ec4b38bfa44fa6ff..931f4f3cd6f29e36822fb9de3d38e6ba7a713dcd 100644 +index 600b9e9bc6a9c92920c8ec28764e64dfc1fd6e3f..47eb362ba73bb20e738af6dea60e86ffe5492315 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -165,6 +165,7 @@ public class PurpurConfig { @@ -56,7 +56,7 @@ index 79bcb015a7a29b41552e5173ec4b38bfa44fa6ff..931f4f3cd6f29e36822fb9de3d38e6ba public static String serverModName = "Purpur"; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b55e4e43554ef1e4afcc25101cfa82f0dd95db11..37e7ff9b3da306ff091e430e6091d69c6384289f 100644 +index 2088887b61bfc02e1d00e645682879123df30e68..a34471e1164803565a4746284da4a75aa10274e8 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -157,6 +157,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0145-One-Punch-Man.patch b/patches/server/0143-One-Punch-Man.patch similarity index 96% rename from patches/server/0145-One-Punch-Man.patch rename to patches/server/0143-One-Punch-Man.patch index e439ba328..445817742 100644 --- a/patches/server/0145-One-Punch-Man.patch +++ b/patches/server/0143-One-Punch-Man.patch @@ -30,7 +30,7 @@ index 679ceed9d18b59b35572145e0fa21e51e4760d27..934bb735c1948113b01f9ba6799ecc1a if (human) { // PAIL: Be sure to drag all this code from the EntityHuman subclass each update. diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 37e7ff9b3da306ff091e430e6091d69c6384289f..f9678bacd3d49f93907725d24d407a24aa8a8d7a 100644 +index a34471e1164803565a4746284da4a75aa10274e8..660e801acdfd25d51a1177065a1a10544fe0b3b4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -302,6 +302,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0146-Add-config-for-snow-on-blue-ice.patch b/patches/server/0144-Add-config-for-snow-on-blue-ice.patch similarity index 94% rename from patches/server/0146-Add-config-for-snow-on-blue-ice.patch rename to patches/server/0144-Add-config-for-snow-on-blue-ice.patch index 778850fd8..842962c57 100644 --- a/patches/server/0146-Add-config-for-snow-on-blue-ice.patch +++ b/patches/server/0144-Add-config-for-snow-on-blue-ice.patch @@ -29,10 +29,10 @@ index fbbb0155bd66f1daa160e03f866741d903e1869e..86f7b4117b8b9bd36e38962e3290f7b9 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f9678bacd3d49f93907725d24d407a24aa8a8d7a..dc2fd82f87e01f9a69bfd2cbc38da1148202cf4b 100644 +index 660e801acdfd25d51a1177065a1a10544fe0b3b4..70f6970540def01256a7f6dbe20457f9ec66847e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -524,6 +524,11 @@ public class PurpurWorldConfig { +@@ -517,6 +517,11 @@ public class PurpurWorldConfig { furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath); } diff --git a/patches/server/0147-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch b/patches/server/0145-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch similarity index 98% rename from patches/server/0147-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch rename to patches/server/0145-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch index 9befaa26f..06bddbc68 100644 --- a/patches/server/0147-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch +++ b/patches/server/0145-Configurable-Ender-Pearl-cooldown-damage-and-Endermi.patch @@ -43,7 +43,7 @@ index 749ab72edc0d2e9c6f1161415ab8d59d3d6ca976..897c202c0905040072a06fdfa2032a7f // Paper end if (user instanceof net.minecraft.server.level.ServerPlayer) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dc2fd82f87e01f9a69bfd2cbc38da1148202cf4b..d8fd7ac4c9368e439867f6bbc718b93561edca5f 100644 +index 70f6970540def01256a7f6dbe20457f9ec66847e..fea8c1e47ad7c9abd5593fc46b20487fa5f72171 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -159,6 +159,10 @@ public class PurpurWorldConfig { diff --git a/patches/server/0148-Config-to-ignore-nearby-mobs-when-sleeping.patch b/patches/server/0146-Config-to-ignore-nearby-mobs-when-sleeping.patch similarity index 92% rename from patches/server/0148-Config-to-ignore-nearby-mobs-when-sleeping.patch rename to patches/server/0146-Config-to-ignore-nearby-mobs-when-sleeping.patch index 8a4235533..3da2676bc 100644 --- a/patches/server/0148-Config-to-ignore-nearby-mobs-when-sleeping.patch +++ b/patches/server/0146-Config-to-ignore-nearby-mobs-when-sleeping.patch @@ -5,7 +5,7 @@ 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 0d58442a23793c0e0d70a2caf16736b5fba8879f..04cc1a6c14328c17fb1b387a2a01cdfdd7b72ad8 100644 +index 722590b3674de1c3d92db4995df0aa87e55ecdea..152017d279a29ecdd69e1f7c4a9a96a0291e65ee 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1321,7 +1321,7 @@ public class ServerPlayer extends Player { @@ -18,7 +18,7 @@ index 0d58442a23793c0e0d70a2caf16736b5fba8879f..04cc1a6c14328c17fb1b387a2a01cdfd } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d8fd7ac4c9368e439867f6bbc718b93561edca5f..1e6bf257d8f587af6397c39ff8d5107120313107 100644 +index fea8c1e47ad7c9abd5593fc46b20487fa5f72171..b5fd530558ff5f2b4969f9907035f97af3f183e7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -311,6 +311,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0149-Add-back-player-spawned-endermite-API.patch b/patches/server/0147-Add-back-player-spawned-endermite-API.patch similarity index 100% rename from patches/server/0149-Add-back-player-spawned-endermite-API.patch rename to patches/server/0147-Add-back-player-spawned-endermite-API.patch diff --git a/patches/server/0150-Config-Enderman-aggressiveness-towards-Endermites.patch b/patches/server/0148-Config-Enderman-aggressiveness-towards-Endermites.patch similarity index 94% rename from patches/server/0150-Config-Enderman-aggressiveness-towards-Endermites.patch rename to patches/server/0148-Config-Enderman-aggressiveness-towards-Endermites.patch index 7027f57dd..dbab256b6 100644 --- a/patches/server/0150-Config-Enderman-aggressiveness-towards-Endermites.patch +++ b/patches/server/0148-Config-Enderman-aggressiveness-towards-Endermites.patch @@ -18,10 +18,10 @@ index b050f2d16a6aed98654f51fa4ede496a0be07b45..c7216abec9b93cce9198568470ebe21f } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1e6bf257d8f587af6397c39ff8d5107120313107..7e3c65b3a10c6dbfc345b7d7ada8cfdd27a15596 100644 +index b5fd530558ff5f2b4969f9907035f97af3f183e7..48b7fb5710c48b5a8172fcc45ea2a802e349d2f3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -945,6 +945,8 @@ public class PurpurWorldConfig { +@@ -914,6 +914,8 @@ public class PurpurWorldConfig { public boolean endermanDespawnEvenWithBlock = false; public boolean endermanBypassMobGriefing = false; public boolean endermanTakeDamageFromWater = true; @@ -30,7 +30,7 @@ index 1e6bf257d8f587af6397c39ff8d5107120313107..7e3c65b3a10c6dbfc345b7d7ada8cfdd private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -953,11 +955,17 @@ public class PurpurWorldConfig { +@@ -922,11 +924,17 @@ public class PurpurWorldConfig { set("mobs.enderman.attributes.max-health", null); set("mobs.enderman.attributes.max_health", oldValue); } diff --git a/patches/server/0151-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch b/patches/server/0149-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch similarity index 93% rename from patches/server/0151-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch rename to patches/server/0149-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch index 1d8b1ae02..4658666fe 100644 --- a/patches/server/0151-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch +++ b/patches/server/0149-Config-to-ignore-Dragon-Head-wearers-and-stare-aggro.patch @@ -20,10 +20,10 @@ index c7216abec9b93cce9198568470ebe21f40d6423b..fd06b697b810e4e74345c636cb3a02bc } else { Vec3 vec3d = player.getViewVector(1.0F).normalize(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7e3c65b3a10c6dbfc345b7d7ada8cfdd27a15596..95e34c8fa39fcc0be6608e2dfab716606f81937a 100644 +index 48b7fb5710c48b5a8172fcc45ea2a802e349d2f3..0b68eb54c3f65d71e56b05655bc360768d01ba77 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -947,6 +947,8 @@ public class PurpurWorldConfig { +@@ -916,6 +916,8 @@ public class PurpurWorldConfig { public boolean endermanTakeDamageFromWater = true; public boolean endermanAggroEndermites = true; public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; @@ -32,7 +32,7 @@ index 7e3c65b3a10c6dbfc345b7d7ada8cfdd27a15596..95e34c8fa39fcc0be6608e2dfab71660 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -966,6 +968,8 @@ public class PurpurWorldConfig { +@@ -935,6 +937,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/0152-Tick-fluids-config.patch b/patches/server/0150-Tick-fluids-config.patch similarity index 97% rename from patches/server/0152-Tick-fluids-config.patch rename to patches/server/0150-Tick-fluids-config.patch index 69ec05f77..5565d0902 100644 --- a/patches/server/0152-Tick-fluids-config.patch +++ b/patches/server/0150-Tick-fluids-config.patch @@ -36,7 +36,7 @@ index 11ebadaa2438281a54cffe025a49ee5046a71ba5..07c25a2518eb5ce0da6131ce5ceb10ac } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 95e34c8fa39fcc0be6608e2dfab716606f81937a..0f6065ca8d952c0ae12dcf9ccb6baea3f386808e 100644 +index 0b68eb54c3f65d71e56b05655bc360768d01ba77..bec3d78e87ec1e1c683c5fbaa12b8d8fada870f6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -413,6 +413,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0153-Config-to-disable-Llama-caravans.patch b/patches/server/0151-Config-to-disable-Llama-caravans.patch similarity index 94% rename from patches/server/0153-Config-to-disable-Llama-caravans.patch rename to patches/server/0151-Config-to-disable-Llama-caravans.patch index bd5e2ee1a..af7aeabe1 100644 --- a/patches/server/0153-Config-to-disable-Llama-caravans.patch +++ b/patches/server/0151-Config-to-disable-Llama-caravans.patch @@ -32,10 +32,10 @@ index 81957c9daa27682ee701092e207d72166e159382..e09e44f15b6802261f83795bf5162686 this.caravanHead.caravanTail = this; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0f6065ca8d952c0ae12dcf9ccb6baea3f386808e..94bc54757899557a5f3fd5a6fa426823c846981f 100644 +index bec3d78e87ec1e1c683c5fbaa12b8d8fada870f6..ad573cabf2c369fdaa9a0a7f97de2f8d365d847e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1240,6 +1240,7 @@ public class PurpurWorldConfig { +@@ -1209,6 +1209,7 @@ public class PurpurWorldConfig { public double llamaMovementSpeedMax = 0.175D; public int llamaBreedingTicks = 6000; public boolean llamaTakeDamageFromWater = false; @@ -43,7 +43,7 @@ index 0f6065ca8d952c0ae12dcf9ccb6baea3f386808e..94bc54757899557a5f3fd5a6fa426823 private void llamaSettings() { llamaRidable = getBoolean("mobs.llama.ridable", llamaRidable); llamaRidableInWater = getBoolean("mobs.llama.ridable-in-water", llamaRidableInWater); -@@ -1258,6 +1259,7 @@ public class PurpurWorldConfig { +@@ -1227,6 +1228,7 @@ public class PurpurWorldConfig { llamaMovementSpeedMax = getDouble("mobs.llama.attributes.movement_speed.max", llamaMovementSpeedMax); llamaBreedingTicks = getInt("mobs.llama.breeding-delay-ticks", llamaBreedingTicks); llamaTakeDamageFromWater = getBoolean("mobs.llama.takes-damage-from-water", llamaTakeDamageFromWater); diff --git a/patches/server/0154-Config-to-make-Creepers-explode-on-death.patch b/patches/server/0152-Config-to-make-Creepers-explode-on-death.patch similarity index 94% rename from patches/server/0154-Config-to-make-Creepers-explode-on-death.patch rename to patches/server/0152-Config-to-make-Creepers-explode-on-death.patch index ab08cfe90..f754caa0b 100644 --- a/patches/server/0154-Config-to-make-Creepers-explode-on-death.patch +++ b/patches/server/0152-Config-to-make-Creepers-explode-on-death.patch @@ -50,10 +50,10 @@ index cf8b4f538ee2df715162adc460c6e8e58b50ba52..525b94c61693cfd7d68305cbf4eb08a8 private void spawnLingeringCloud() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 94bc54757899557a5f3fd5a6fa426823c846981f..b9b3be202285c4926f1816d28ffce7983862062b 100644 +index ad573cabf2c369fdaa9a0a7f97de2f8d365d847e..14ad0a50dd69f78573007dcb9477a712585ad3ec 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -809,6 +809,7 @@ public class PurpurWorldConfig { +@@ -778,6 +778,7 @@ public class PurpurWorldConfig { public boolean creeperAllowGriefing = true; public boolean creeperBypassMobGriefing = false; public boolean creeperTakeDamageFromWater = false; @@ -61,7 +61,7 @@ index 94bc54757899557a5f3fd5a6fa426823c846981f..b9b3be202285c4926f1816d28ffce798 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -822,6 +823,7 @@ public class PurpurWorldConfig { +@@ -791,6 +792,7 @@ public class PurpurWorldConfig { creeperAllowGriefing = getBoolean("mobs.creeper.allow-griefing", creeperAllowGriefing); creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); diff --git a/patches/server/0155-Configurable-ravager-griefable-blocks-list.patch b/patches/server/0153-Configurable-ravager-griefable-blocks-list.patch similarity index 95% rename from patches/server/0155-Configurable-ravager-griefable-blocks-list.patch rename to patches/server/0153-Configurable-ravager-griefable-blocks-list.patch index 6875c115f..d93039f67 100644 --- a/patches/server/0155-Configurable-ravager-griefable-blocks-list.patch +++ b/patches/server/0153-Configurable-ravager-griefable-blocks-list.patch @@ -31,10 +31,10 @@ index e9087a46e401bc99b73c2cf2731fdac3e68719f8..e054edf9e7c4eef231e155516433c6fa } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b9b3be202285c4926f1816d28ffce7983862062b..018accfcdfcaa14596c47f2764efe45339ca4a39 100644 +index 14ad0a50dd69f78573007dcb9477a712585ad3ec..8ff9d325c7cb67180a09eb864dfb7a86f8fe8e29 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1580,6 +1580,7 @@ public class PurpurWorldConfig { +@@ -1549,6 +1549,7 @@ public class PurpurWorldConfig { public double ravagerMaxHealth = 100.0D; public boolean ravagerBypassMobGriefing = false; public boolean ravagerTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index b9b3be202285c4926f1816d28ffce7983862062b..018accfcdfcaa14596c47f2764efe453 private void ravagerSettings() { ravagerRidable = getBoolean("mobs.ravager.ridable", ravagerRidable); ravagerRidableInWater = getBoolean("mobs.ravager.ridable-in-water", ravagerRidableInWater); -@@ -1591,6 +1592,23 @@ public class PurpurWorldConfig { +@@ -1560,6 +1561,23 @@ public class PurpurWorldConfig { ravagerMaxHealth = getDouble("mobs.ravager.attributes.max_health", ravagerMaxHealth); ravagerBypassMobGriefing = getBoolean("mobs.ravager.bypass-mob-griefing", ravagerBypassMobGriefing); ravagerTakeDamageFromWater = getBoolean("mobs.ravager.takes-damage-from-water", ravagerTakeDamageFromWater); diff --git a/patches/server/0156-Sneak-to-bulk-process-composter.patch b/patches/server/0154-Sneak-to-bulk-process-composter.patch similarity index 97% rename from patches/server/0156-Sneak-to-bulk-process-composter.patch rename to patches/server/0154-Sneak-to-bulk-process-composter.patch index 48bae63b5..b04e145e8 100644 --- a/patches/server/0156-Sneak-to-bulk-process-composter.patch +++ b/patches/server/0154-Sneak-to-bulk-process-composter.patch @@ -75,10 +75,10 @@ index fb8b8a9733ac50096d8406487ab1ae167ef5f7b1..16598ca0fd953b6af98dfcdb6716e2e1 int i = (Integer) iblockdata.getValue(ComposterBlock.LEVEL); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 018accfcdfcaa14596c47f2764efe45339ca4a39..d2f7127b21515f1afe9451f243a0e5614a91a488 100644 +index 8ff9d325c7cb67180a09eb864dfb7a86f8fe8e29..f463c17192b609be4cbd66c8f475f3615cb5bf64 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -474,6 +474,11 @@ public class PurpurWorldConfig { +@@ -467,6 +467,11 @@ public class PurpurWorldConfig { chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); } diff --git a/patches/server/0157-Config-for-skipping-night.patch b/patches/server/0155-Config-for-skipping-night.patch similarity index 92% rename from patches/server/0157-Config-for-skipping-night.patch rename to patches/server/0155-Config-for-skipping-night.patch index 4576ab23d..3088eac30 100644 --- a/patches/server/0157-Config-for-skipping-night.patch +++ b/patches/server/0155-Config-for-skipping-night.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Config for skipping night diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 74e89ada75e34b8d09c55bea4f58b2c72e21dfcb..62d6764b5477e77b34a96e816be74050eede6b4b 100644 +index 1719f7ad18dfa054dc8c73f184baabb361160175..f4f87fb9ce5ebdb44ae4568c4b0d151f5c108fee 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -604,7 +604,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -18,7 +18,7 @@ index 74e89ada75e34b8d09c55bea4f58b2c72e21dfcb..62d6764b5477e77b34a96e816be74050 j = this.levelData.getDayTime() + 24000L; TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (j - j % 24000L) - this.getDayTime()); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d2f7127b21515f1afe9451f243a0e5614a91a488..37334be50f9ddd1ff5e0fc2629ecd3ec6aaa278a 100644 +index f463c17192b609be4cbd66c8f475f3615cb5bf64..63e74fc0f42e5cfe2cb60434959d4c76e6b76093 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -312,6 +312,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0158-Add-config-for-villager-trading.patch b/patches/server/0156-Add-config-for-villager-trading.patch similarity index 91% rename from patches/server/0158-Add-config-for-villager-trading.patch rename to patches/server/0156-Add-config-for-villager-trading.patch index 78bc20b8d..cc0de9ac4 100644 --- a/patches/server/0158-Add-config-for-villager-trading.patch +++ b/patches/server/0156-Add-config-for-villager-trading.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add config for villager trading diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 56d57670e7e315d53abc60d6c9df2a8777536b30..aceb5dff85779983473962cd8cb016811560d0a6 100644 +index f82d4019aba5fd89e0f8d41a4dc6e42abd228510..fae4a7c79baac15a06b737b6081956a55b024c8d 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -357,7 +357,7 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -31,10 +31,10 @@ index e5b78c9d6fb326771d65ea9afd9da38c204922f0..1a8df13b06b1ac5e5a7d63033b4a5326 this.openTradingScreen(player, this.getDisplayName(), 1); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 37334be50f9ddd1ff5e0fc2629ecd3ec6aaa278a..af9622da4048668cc80baf57fbb1c4e151344170 100644 +index 63e74fc0f42e5cfe2cb60434959d4c76e6b76093..a3204f9a70846a589c54bda34d1575648e4a48aa 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1952,6 +1952,7 @@ public class PurpurWorldConfig { +@@ -1921,6 +1921,7 @@ public class PurpurWorldConfig { public boolean villagerClericFarmersThrowWarts = true; public boolean villagerBypassMobGriefing = false; public boolean villagerTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index 37334be50f9ddd1ff5e0fc2629ecd3ec6aaa278a..af9622da4048668cc80baf57fbb1c4e1 private void villagerSettings() { villagerRidable = getBoolean("mobs.villager.ridable", villagerRidable); villagerRidableInWater = getBoolean("mobs.villager.ridable-in-water", villagerRidableInWater); -@@ -1973,6 +1974,7 @@ public class PurpurWorldConfig { +@@ -1942,6 +1943,7 @@ public class PurpurWorldConfig { villagerClericFarmersThrowWarts = getBoolean("mobs.villager.cleric-wart-farmers-throw-warts-at-villagers", villagerClericFarmersThrowWarts); villagerBypassMobGriefing = getBoolean("mobs.villager.bypass-mob-griefing", villagerBypassMobGriefing); villagerTakeDamageFromWater = getBoolean("mobs.villager.takes-damage-from-water", villagerTakeDamageFromWater); @@ -50,7 +50,7 @@ index 37334be50f9ddd1ff5e0fc2629ecd3ec6aaa278a..af9622da4048668cc80baf57fbb1c4e1 } public boolean vindicatorRidable = false; -@@ -1999,6 +2001,7 @@ public class PurpurWorldConfig { +@@ -1968,6 +1970,7 @@ public class PurpurWorldConfig { public boolean wanderingTraderFollowEmeraldBlock = false; public boolean wanderingTraderCanBeLeashed = false; public boolean wanderingTraderTakeDamageFromWater = false; @@ -58,7 +58,7 @@ index 37334be50f9ddd1ff5e0fc2629ecd3ec6aaa278a..af9622da4048668cc80baf57fbb1c4e1 private void wanderingTraderSettings() { wanderingTraderRidable = getBoolean("mobs.wandering_trader.ridable", wanderingTraderRidable); wanderingTraderRidableInWater = getBoolean("mobs.wandering_trader.ridable-in-water", wanderingTraderRidableInWater); -@@ -2011,6 +2014,7 @@ public class PurpurWorldConfig { +@@ -1980,6 +1983,7 @@ public class PurpurWorldConfig { wanderingTraderFollowEmeraldBlock = getBoolean("mobs.wandering_trader.follow-emerald-blocks", wanderingTraderFollowEmeraldBlock); wanderingTraderCanBeLeashed = getBoolean("mobs.wandering_trader.can-be-leashed", wanderingTraderCanBeLeashed); wanderingTraderTakeDamageFromWater = getBoolean("mobs.wandering_trader.takes-damage-from-water", wanderingTraderTakeDamageFromWater); diff --git a/patches/server/0159-Allow-infinity-on-crossbows.patch b/patches/server/0157-Allow-infinity-on-crossbows.patch similarity index 98% rename from patches/server/0159-Allow-infinity-on-crossbows.patch rename to patches/server/0157-Allow-infinity-on-crossbows.patch index 613e38618..adc6e7e78 100644 --- a/patches/server/0159-Allow-infinity-on-crossbows.patch +++ b/patches/server/0157-Allow-infinity-on-crossbows.patch @@ -77,7 +77,7 @@ index 11c1eb0e0bc326b28dc0cab16f67c413cc52e98c..7073985656ae5b17a7489518747dc858 return null; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 931f4f3cd6f29e36822fb9de3d38e6ba7a713dcd..b91b1c4d65f32b82bc08489779e3d12f3b16d1e7 100644 +index 47eb362ba73bb20e738af6dea60e86ffe5492315..5cd63b9db24729d96434dc43c8f5e0ba3ac60865 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -272,6 +272,7 @@ public class PurpurConfig { diff --git a/patches/server/0160-Drowning-Settings.patch b/patches/server/0158-Drowning-Settings.patch similarity index 93% rename from patches/server/0160-Drowning-Settings.patch rename to patches/server/0158-Drowning-Settings.patch index 97dc3656e..4de96087a 100644 --- a/patches/server/0160-Drowning-Settings.patch +++ b/patches/server/0158-Drowning-Settings.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Drowning Settings diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index adfd0f5e939fcd35a564682d913153944d806e5d..07a644587f4f1a9679edc37a2b639889fde4ce88 100644 +index 8288841cfff9854f8ab50c37bf14d82dad3b2917..c9e2c9ba46a39c1555fec5d94c988753f6feca20 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -502,7 +502,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i @@ -17,7 +17,7 @@ index adfd0f5e939fcd35a564682d913153944d806e5d..07a644587f4f1a9679edc37a2b639889 this.entityData.define(Entity.DATA_CUSTOM_NAME_VISIBLE, false); this.entityData.define(Entity.DATA_CUSTOM_NAME, Optional.empty()); this.entityData.define(Entity.DATA_SILENT, false); -@@ -2860,7 +2860,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2947,7 +2947,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } public int getMaxAirSupply() { @@ -49,7 +49,7 @@ index 934bb735c1948113b01f9ba6799ecc1ad92dbb76..b036b0145a83eeb424beb261483b0515 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index af9622da4048668cc80baf57fbb1c4e151344170..0c34c88e1bd7ec56248aa36927faca4728399bde 100644 +index a3204f9a70846a589c54bda34d1575648e4a48aa..f67e57204a2be5076c7d14ab513d205378134a60 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -122,6 +122,15 @@ public class PurpurWorldConfig { diff --git a/patches/server/0161-Break-individual-slabs-when-sneaking.patch b/patches/server/0159-Break-individual-slabs-when-sneaking.patch similarity index 95% rename from patches/server/0161-Break-individual-slabs-when-sneaking.patch rename to patches/server/0159-Break-individual-slabs-when-sneaking.patch index 43fdd2043..9f7c48ca5 100644 --- a/patches/server/0161-Break-individual-slabs-when-sneaking.patch +++ b/patches/server/0159-Break-individual-slabs-when-sneaking.patch @@ -47,10 +47,10 @@ index 54df5c2987822a727a31be2b3769d39fabb6159a..70b6a65a7d321fc71c98289f09f21cca + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 0c34c88e1bd7ec56248aa36927faca4728399bde..408688a2ad20e74716fad24bd65cceeca8c371a4 100644 +index f67e57204a2be5076c7d14ab513d205378134a60..af137c18c47ecea46c9539f4ad186619196ab1d4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -606,6 +606,11 @@ public class PurpurWorldConfig { +@@ -594,6 +594,11 @@ public class PurpurWorldConfig { signRightClickEdit = getBoolean("blocks.sign.right-click-edit", signRightClickEdit); } diff --git a/patches/server/0162-Config-to-disable-hostile-mob-spawn-on-ice.patch b/patches/server/0160-Config-to-disable-hostile-mob-spawn-on-ice.patch similarity index 93% rename from patches/server/0162-Config-to-disable-hostile-mob-spawn-on-ice.patch rename to patches/server/0160-Config-to-disable-hostile-mob-spawn-on-ice.patch index e06e075a7..ebf9c6b01 100644 --- a/patches/server/0162-Config-to-disable-hostile-mob-spawn-on-ice.patch +++ b/patches/server/0160-Config-to-disable-hostile-mob-spawn-on-ice.patch @@ -22,10 +22,10 @@ index 457880c9e894a83d88505cf0b7235df919eea591..9c38fdb23853ebdca7b8d904760a3958 return false; } else if (world.getBrightness(LightLayer.BLOCK, pos) > 0) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 408688a2ad20e74716fad24bd65cceeca8c371a4..064bb5a0fcff3692609ad84b09227276aa0e140a 100644 +index af137c18c47ecea46c9539f4ad186619196ab1d4..78c4717b6ef141f192119265d262669012f4814d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -553,8 +553,12 @@ public class PurpurWorldConfig { +@@ -546,8 +546,12 @@ public class PurpurWorldConfig { } public boolean snowOnBlueIce = true; diff --git a/patches/server/0163-Config-to-show-Armor-Stand-arms-on-spawn.patch b/patches/server/0161-Config-to-show-Armor-Stand-arms-on-spawn.patch similarity index 96% rename from patches/server/0163-Config-to-show-Armor-Stand-arms-on-spawn.patch rename to patches/server/0161-Config-to-show-Armor-Stand-arms-on-spawn.patch index 6db83529f..c224f7e75 100644 --- a/patches/server/0163-Config-to-show-Armor-Stand-arms-on-spawn.patch +++ b/patches/server/0161-Config-to-show-Armor-Stand-arms-on-spawn.patch @@ -17,7 +17,7 @@ index e9e24435057cff9c0af758ca2aa822c3b1c3593d..8634431cabae82b71f409f02c84dda2d public ArmorStand(Level world, double x, double y, double z) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 064bb5a0fcff3692609ad84b09227276aa0e140a..f3a29c15d993b8dd4936b9f9678be9740110f72f 100644 +index 78c4717b6ef141f192119265d262669012f4814d..904ec899828d6ef345f5c279ceefd9d7e0b116f6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -106,6 +106,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0164-Option-to-make-doors-require-redstone.patch b/patches/server/0162-Option-to-make-doors-require-redstone.patch similarity index 97% rename from patches/server/0164-Option-to-make-doors-require-redstone.patch rename to patches/server/0162-Option-to-make-doors-require-redstone.patch index 0ee90196c..01c1d38b2 100644 --- a/patches/server/0164-Option-to-make-doors-require-redstone.patch +++ b/patches/server/0162-Option-to-make-doors-require-redstone.patch @@ -67,10 +67,10 @@ index 1df52a9c86c01696a8bc9f84a2082387160b3eeb..a4b9c5da133e2e8ad45d447e3f184cb1 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f3a29c15d993b8dd4936b9f9678be9740110f72f..18bd4e5088af39e08b2d861b3d53d242a7e5879e 100644 +index 904ec899828d6ef345f5c279ceefd9d7e0b116f6..48eaeaba6ba55abdf855397a1d60d702a285a8d9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -499,6 +499,16 @@ public class PurpurWorldConfig { +@@ -492,6 +492,16 @@ public class PurpurWorldConfig { dispenserPlaceAnvils = getBoolean("blocks.dispenser.place-anvils", dispenserPlaceAnvils); } diff --git a/patches/server/0165-Config-to-allow-for-unsafe-enchants.patch b/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch similarity index 98% rename from patches/server/0165-Config-to-allow-for-unsafe-enchants.patch rename to patches/server/0163-Config-to-allow-for-unsafe-enchants.patch index 206569c26..f7c5b060c 100644 --- a/patches/server/0165-Config-to-allow-for-unsafe-enchants.patch +++ b/patches/server/0163-Config-to-allow-for-unsafe-enchants.patch @@ -75,7 +75,7 @@ index 7ed8ae3a92d631dcfc155790dbc2fdd4a3e39d1c..03271cdffd99ab443904a5d1da05d79c this.getOrCreateTag().put(key, element); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index b91b1c4d65f32b82bc08489779e3d12f3b16d1e7..b314889c0a739b220e634e09e4d630616d6397df 100644 +index 5cd63b9db24729d96434dc43c8f5e0ba3ac60865..057ebea07a435fa7e2ed9ec3ca107cde4398a3ee 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -273,6 +273,7 @@ public class PurpurConfig { diff --git a/patches/server/0166-Configurable-sponge-absorption.patch b/patches/server/0164-Configurable-sponge-absorption.patch similarity index 95% rename from patches/server/0166-Configurable-sponge-absorption.patch rename to patches/server/0164-Configurable-sponge-absorption.patch index 6b3861886..2aec60329 100644 --- a/patches/server/0166-Configurable-sponge-absorption.patch +++ b/patches/server/0164-Configurable-sponge-absorption.patch @@ -43,10 +43,10 @@ index 842997ea9f25a05d74a2e8300e44cc39a7e9cd96..97b4e3c0d2b1bbde77b135b8595c3bfa } } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 18bd4e5088af39e08b2d861b3d53d242a7e5879e..9d791317fe59b0bf80fefb65d049521363a5bead 100644 +index 48eaeaba6ba55abdf855397a1d60d702a285a8d9..a462bc074b9d9eef6ba8981c3617d1a545e95e0f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -632,6 +632,13 @@ public class PurpurWorldConfig { +@@ -620,6 +620,13 @@ public class PurpurWorldConfig { spawnerDeactivateByRedstone = getBoolean("blocks.spawner.deactivate-by-redstone", spawnerDeactivateByRedstone); } diff --git a/patches/server/0167-Projectile-offset-config.patch b/patches/server/0165-Projectile-offset-config.patch similarity index 99% rename from patches/server/0167-Projectile-offset-config.patch rename to patches/server/0165-Projectile-offset-config.patch index 1082aeeb5..561186649 100644 --- a/patches/server/0167-Projectile-offset-config.patch +++ b/patches/server/0165-Projectile-offset-config.patch @@ -96,7 +96,7 @@ index 5beaafec0759543d3bddf99028c97d0d005be209..086f746cc632a90c67a6c30ea9197c5b entitythrowntrident.pickup = AbstractArrow.Pickup.CREATIVE_ONLY; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9d791317fe59b0bf80fefb65d049521363a5bead..4be7e3537843983044dc4987b5e01ef5023c2632 100644 +index a462bc074b9d9eef6ba8981c3617d1a545e95e0f..feee6f4afc781009a150a60c99994fc86c4dc2ef 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -381,6 +381,23 @@ public class PurpurWorldConfig { diff --git a/patches/server/0168-Config-for-powered-rail-activation-distance.patch b/patches/server/0166-Config-for-powered-rail-activation-distance.patch similarity index 92% rename from patches/server/0168-Config-for-powered-rail-activation-distance.patch rename to patches/server/0166-Config-for-powered-rail-activation-distance.patch index 70b22936c..f390a36d3 100644 --- a/patches/server/0168-Config-for-powered-rail-activation-distance.patch +++ b/patches/server/0166-Config-for-powered-rail-activation-distance.patch @@ -18,10 +18,10 @@ index 7fddb6fa8fd30ef88346a59f7867aae792f13772..40893e71fe8447b695350273bef9623b } else { int j = pos.getX(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 4be7e3537843983044dc4987b5e01ef5023c2632..5ff62bcd72b6012cca37c2d7de20e661d999169f 100644 +index feee6f4afc781009a150a60c99994fc86c4dc2ef..38997b4dcc8917ebc478f71d7a06ac114bcf4641 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -644,6 +644,11 @@ public class PurpurWorldConfig { +@@ -632,6 +632,11 @@ public class PurpurWorldConfig { slabHalfBreak = getBoolean("blocks.slab.break-individual-slabs-when-sneaking", slabHalfBreak); } diff --git a/patches/server/0169-Piglin-portal-spawn-modifier.patch b/patches/server/0167-Piglin-portal-spawn-modifier.patch similarity index 93% rename from patches/server/0169-Piglin-portal-spawn-modifier.patch rename to patches/server/0167-Piglin-portal-spawn-modifier.patch index b943d9618..fcb6374ad 100644 --- a/patches/server/0169-Piglin-portal-spawn-modifier.patch +++ b/patches/server/0167-Piglin-portal-spawn-modifier.patch @@ -31,10 +31,10 @@ index 13a367d2b5f245f4dd92df03288dc40b81e19603..bd593ec55fcccc1e02cf5683891c5586 pos = pos.below(); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5ff62bcd72b6012cca37c2d7de20e661d999169f..11a88d4e137cb808db4b1fa92c0939d949c0d84e 100644 +index 38997b4dcc8917ebc478f71d7a06ac114bcf4641..bd95dfb87ed6ab0d74d931719fe0ffe90fb38fde 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1533,6 +1533,7 @@ public class PurpurWorldConfig { +@@ -1502,6 +1502,7 @@ public class PurpurWorldConfig { public double piglinMaxHealth = 16.0D; public boolean piglinBypassMobGriefing = false; public boolean piglinTakeDamageFromWater = false; @@ -42,7 +42,7 @@ index 5ff62bcd72b6012cca37c2d7de20e661d999169f..11a88d4e137cb808db4b1fa92c0939d9 private void piglinSettings() { piglinRidable = getBoolean("mobs.piglin.ridable", piglinRidable); piglinRidableInWater = getBoolean("mobs.piglin.ridable-in-water", piglinRidableInWater); -@@ -1544,6 +1545,7 @@ public class PurpurWorldConfig { +@@ -1513,6 +1514,7 @@ public class PurpurWorldConfig { piglinMaxHealth = getDouble("mobs.piglin.attributes.max_health", piglinMaxHealth); piglinBypassMobGriefing = getBoolean("mobs.piglin.bypass-mob-griefing", piglinBypassMobGriefing); piglinTakeDamageFromWater = getBoolean("mobs.piglin.takes-damage-from-water", piglinTakeDamageFromWater); diff --git a/patches/server/0170-Config-to-change-max-number-of-bees.patch b/patches/server/0168-Config-to-change-max-number-of-bees.patch similarity index 96% rename from patches/server/0170-Config-to-change-max-number-of-bees.patch rename to patches/server/0168-Config-to-change-max-number-of-bees.patch index 9b74cf4a2..b40f2b0a9 100644 --- a/patches/server/0170-Config-to-change-max-number-of-bees.patch +++ b/patches/server/0168-Config-to-change-max-number-of-bees.patch @@ -18,7 +18,7 @@ index 9fcd835d219aafbe113ebb1b796052e07bf2b046..2f8e6fb9f811fcfa6b6ed4dd15fcb38f public BeehiveBlockEntity(BlockPos pos, BlockState state) { super(BlockEntityType.BEEHIVE, pos, state); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index b314889c0a739b220e634e09e4d630616d6397df..9dce5a66f8b89dbf1456263ce5366337955ee5e7 100644 +index 057ebea07a435fa7e2ed9ec3ca107cde4398a3ee..2c3cdaa093f28954620f17ee92b4fdc0e4508d51 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -238,6 +238,7 @@ public class PurpurConfig { diff --git a/patches/server/0171-Configurable-damage-settings-for-magma-blocks.patch b/patches/server/0169-Configurable-damage-settings-for-magma-blocks.patch similarity index 87% rename from patches/server/0171-Configurable-damage-settings-for-magma-blocks.patch rename to patches/server/0169-Configurable-damage-settings-for-magma-blocks.patch index e9cdae6a8..470b5d15b 100644 --- a/patches/server/0171-Configurable-damage-settings-for-magma-blocks.patch +++ b/patches/server/0169-Configurable-damage-settings-for-magma-blocks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable damage settings for magma blocks diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 07a644587f4f1a9679edc37a2b639889fde4ce88..283f79e39a478dbcfe7912c6d24658ebd2f5209c 100644 +index c9e2c9ba46a39c1555fec5d94c988753f6feca20..9a2230a19800742c586f7d5925a6b88cca51ce3e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1019,7 +1019,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -1024,7 +1024,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } // CraftBukkit end @@ -31,11 +31,11 @@ index 96b4597101a7f3e98ce30bfc301e8ca1620d0fe4..d7845984b5077cdcd40d652c226d5d60 entity.hurt(DamageSource.HOT_FLOOR, 1.0F); org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = null; // CraftBukkit diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 11a88d4e137cb808db4b1fa92c0939d949c0d84e..33d7e2a4081459f40425910a3e3b3b82d5a8b036 100644 +index bd95dfb87ed6ab0d74d931719fe0ffe90fb38fde..2281c6fb5e6bb0be0cc8649ee4c0ee5d9585f465 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -613,6 +613,13 @@ public class PurpurWorldConfig { - kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge); +@@ -601,6 +601,13 @@ public class PurpurWorldConfig { + waterInfiniteRequiredSources = getInt("blocks.water.infinite-required-sources", waterInfiniteRequiredSources); } + public boolean magmaBlockDamageWhenSneaking = false; diff --git a/patches/server/0172-Config-for-wither-explosion-radius.patch b/patches/server/0170-Config-for-wither-explosion-radius.patch similarity index 92% rename from patches/server/0172-Config-for-wither-explosion-radius.patch rename to patches/server/0170-Config-for-wither-explosion-radius.patch index d36a79e73..e55e6c8cf 100644 --- a/patches/server/0172-Config-for-wither-explosion-radius.patch +++ b/patches/server/0170-Config-for-wither-explosion-radius.patch @@ -18,10 +18,10 @@ index a66e9826b8283366cec5adb54f79efee47d9df22..6cf8b12e94c17a8111eef5cc0157e4df if (!event.isCancelled()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 33d7e2a4081459f40425910a3e3b3b82d5a8b036..074c25916b0f5a24fb128083ba7d9c28ab7cad59 100644 +index 2281c6fb5e6bb0be0cc8649ee4c0ee5d9585f465..85df77eb5530ac9c4374f5df78d10c50c121a803 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2110,6 +2110,7 @@ public class PurpurWorldConfig { +@@ -2079,6 +2079,7 @@ public class PurpurWorldConfig { public boolean witherBypassMobGriefing = false; public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; @@ -29,7 +29,7 @@ index 33d7e2a4081459f40425910a3e3b3b82d5a8b036..074c25916b0f5a24fb128083ba7d9c28 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2129,6 +2130,7 @@ public class PurpurWorldConfig { +@@ -2098,6 +2099,7 @@ public class PurpurWorldConfig { witherBypassMobGriefing = getBoolean("mobs.wither.bypass-mob-griefing", witherBypassMobGriefing); witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); diff --git a/patches/server/0173-Gamemode-extra-permissions.patch b/patches/server/0171-Gamemode-extra-permissions.patch similarity index 98% rename from patches/server/0173-Gamemode-extra-permissions.patch rename to patches/server/0171-Gamemode-extra-permissions.patch index 8bcdec911..b307e2ae8 100644 --- a/patches/server/0173-Gamemode-extra-permissions.patch +++ b/patches/server/0171-Gamemode-extra-permissions.patch @@ -75,7 +75,7 @@ index 6cc517b394bafefce50d877761e5b2eee8e14c78..46ca899a7abddea108f6ff1b4ca14ca5 DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "toggledownfall", "Allows the user to toggle rain on/off for a given world", PermissionDefault.OP, commands); DefaultPermissions.registerPermission(CommandPermissions.PREFIX + "defaultgamemode", "Allows the user to change the default gamemode of the server", PermissionDefault.OP, commands); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 9dce5a66f8b89dbf1456263ce5366337955ee5e7..a09151e1c7383cf286e66a4499341cd85ca25709 100644 +index 2c3cdaa093f28954620f17ee92b4fdc0e4508d51..39840a49c3900e227f1410db07abdc98051a7269 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -221,6 +221,7 @@ public class PurpurConfig { diff --git a/patches/server/0174-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch b/patches/server/0172-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch similarity index 96% rename from patches/server/0174-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch rename to patches/server/0172-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch index 9d540dfd8..536d1ab64 100644 --- a/patches/server/0174-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch +++ b/patches/server/0172-Config-for-changing-the-blocks-that-turn-into-dirt-p.patch @@ -18,7 +18,7 @@ index e5562b407bba35ab93bf8bc3c22ac9d45e8353cb..c688bb73cd062f36524cfc231cb691f2 if (blockState2 != null && level.getBlockState(blockPos.above()).isAir()) { level.playSound(player, blockPos, SoundEvents.SHOVEL_FLATTEN, SoundSource.BLOCKS, 1.0F, 1.0F); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 074c25916b0f5a24fb128083ba7d9c28ab7cad59..cb487e3a8c03fc2b7f7ccb328a7adfa7c7b3799b 100644 +index 85df77eb5530ac9c4374f5df78d10c50c121a803..a347e77339f0cf2e011676a042db04fbfa6b1869 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -398,6 +398,21 @@ public class PurpurWorldConfig { diff --git a/patches/server/0175-Configurable-piston-push-limit.patch b/patches/server/0173-Configurable-piston-push-limit.patch similarity index 94% rename from patches/server/0175-Configurable-piston-push-limit.patch rename to patches/server/0173-Configurable-piston-push-limit.patch index b9ca1946d..6b7e33599 100644 --- a/patches/server/0175-Configurable-piston-push-limit.patch +++ b/patches/server/0173-Configurable-piston-push-limit.patch @@ -36,10 +36,10 @@ index 744d91546d1a810f60a43c15ed74b4158f341a4a..354538daefa603f6df5a139b6bff87db } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index cb487e3a8c03fc2b7f7ccb328a7adfa7c7b3799b..b0464be1ddd80616f002471a0b2b64602bd3e6f1 100644 +index a347e77339f0cf2e011676a042db04fbfa6b1869..70df00057ceb30f5c5f5ed6a141ebf278876628e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -635,6 +635,11 @@ public class PurpurWorldConfig { +@@ -623,6 +623,11 @@ public class PurpurWorldConfig { magmaBlockDamageWithFrostWalker = getBoolean("blocks.magma-block.damage-with-frost-walker", magmaBlockDamageWithFrostWalker); } diff --git a/patches/server/0176-Configurable-broadcast-settings.patch b/patches/server/0174-Configurable-broadcast-settings.patch similarity index 94% rename from patches/server/0176-Configurable-broadcast-settings.patch rename to patches/server/0174-Configurable-broadcast-settings.patch index ae9abbd5f..38e3f632e 100644 --- a/patches/server/0176-Configurable-broadcast-settings.patch +++ b/patches/server/0174-Configurable-broadcast-settings.patch @@ -17,7 +17,7 @@ index 6f5b7650d45958284f7b5c675c1e32d4b7738494..842acb66c58a1ee66c595bd56afc1f94 // 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 04cc1a6c14328c17fb1b387a2a01cdfdd7b72ad8..b609213894c5c9c34188e0667e34b61876ea92ce 100644 +index 152017d279a29ecdd69e1f7c4a9a96a0291e65ee..7bbe7349bbc3a5eaccdecf57bc7334d5dcfdfe2b 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -910,6 +910,7 @@ public class ServerPlayer extends Player { @@ -29,7 +29,7 @@ index 04cc1a6c14328c17fb1b387a2a01cdfdd7b72ad8..b609213894c5c9c34188e0667e34b618 if (scoreboardteambase.getDeathMessageVisibility() == Team.Visibility.HIDE_FOR_OTHER_TEAMS) { this.server.getPlayerList().broadcastToTeam(this, ichatbasecomponent); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index a09151e1c7383cf286e66a4499341cd85ca25709..5be7eade117e2e0dcde688cb7a512eeefac6851d 100644 +index 39840a49c3900e227f1410db07abdc98051a7269..96804df7f7e095d0ea0b9d01d8752fa293023ca3 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -178,6 +178,18 @@ public class PurpurConfig { diff --git a/patches/server/0177-Fix-SPIGOT-6278.patch b/patches/server/0175-Fix-SPIGOT-6278.patch similarity index 100% rename from patches/server/0177-Fix-SPIGOT-6278.patch rename to patches/server/0175-Fix-SPIGOT-6278.patch diff --git a/patches/server/0178-Configurable-mob-blindness.patch b/patches/server/0176-Configurable-mob-blindness.patch similarity index 96% rename from patches/server/0178-Configurable-mob-blindness.patch rename to patches/server/0176-Configurable-mob-blindness.patch index a74d8f95a..a2241bded 100644 --- a/patches/server/0178-Configurable-mob-blindness.patch +++ b/patches/server/0176-Configurable-mob-blindness.patch @@ -28,7 +28,7 @@ index b036b0145a83eeb424beb261483b0515518dacd5..2c5d453f57b28008e5b98cf6aec044cb return d0; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b0464be1ddd80616f002471a0b2b64602bd3e6f1..e0e50d90c2d801688810f8ef122ee1c4e905a39b 100644 +index 70df00057ceb30f5c5f5ed6a141ebf278876628e..4766ff27a4dab68877b0517b7698aa800e747a3f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -459,6 +459,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0179-Hide-hidden-players-from-entity-selector.patch b/patches/server/0177-Hide-hidden-players-from-entity-selector.patch similarity index 98% rename from patches/server/0179-Hide-hidden-players-from-entity-selector.patch rename to patches/server/0177-Hide-hidden-players-from-entity-selector.patch index bfa9d29c5..f23ca5065 100644 --- a/patches/server/0179-Hide-hidden-players-from-entity-selector.patch +++ b/patches/server/0177-Hide-hidden-players-from-entity-selector.patch @@ -59,7 +59,7 @@ index 35cc3bba20afd4a47160cc674415ba6a3a0ec0ec..2cba35dcc479ed9ad3e698aa2e02b4aa + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 5be7eade117e2e0dcde688cb7a512eeefac6851d..1a3618597bf2ad131152379ddeb54f4a3b11b052 100644 +index 96804df7f7e095d0ea0b9d01d8752fa293023ca3..47a731efd6f28096439089d69a3502193ba3f000 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -234,6 +234,7 @@ public class PurpurConfig { diff --git a/patches/server/0180-Config-for-health-to-impact-Creeper-explosion-radius.patch b/patches/server/0178-Config-for-health-to-impact-Creeper-explosion-radius.patch similarity index 93% rename from patches/server/0180-Config-for-health-to-impact-Creeper-explosion-radius.patch rename to patches/server/0178-Config-for-health-to-impact-Creeper-explosion-radius.patch index 5d6f1737d..afc0d64af 100644 --- a/patches/server/0180-Config-for-health-to-impact-Creeper-explosion-radius.patch +++ b/patches/server/0178-Config-for-health-to-impact-Creeper-explosion-radius.patch @@ -21,10 +21,10 @@ index 525b94c61693cfd7d68305cbf4eb08a87f3ca66a..35cbd013b1d58bb5fd1480922c2bd430 if (!event.isCancelled()) { this.dead = true; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e0e50d90c2d801688810f8ef122ee1c4e905a39b..d33884c6d97c4caec65efe3e18ce6473a62ccfd1 100644 +index 4766ff27a4dab68877b0517b7698aa800e747a3f..f72469212455a82246b2d498d059887458bebe31 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -905,6 +905,7 @@ public class PurpurWorldConfig { +@@ -874,6 +874,7 @@ public class PurpurWorldConfig { public boolean creeperBypassMobGriefing = false; public boolean creeperTakeDamageFromWater = false; public boolean creeperExplodeWhenKilled = false; @@ -32,7 +32,7 @@ index e0e50d90c2d801688810f8ef122ee1c4e905a39b..d33884c6d97c4caec65efe3e18ce6473 private void creeperSettings() { creeperRidable = getBoolean("mobs.creeper.ridable", creeperRidable); creeperRidableInWater = getBoolean("mobs.creeper.ridable-in-water", creeperRidableInWater); -@@ -919,6 +920,7 @@ public class PurpurWorldConfig { +@@ -888,6 +889,7 @@ public class PurpurWorldConfig { creeperBypassMobGriefing = getBoolean("mobs.creeper.bypass-mob-griefing", creeperBypassMobGriefing); creeperTakeDamageFromWater = getBoolean("mobs.creeper.takes-damage-from-water", creeperTakeDamageFromWater); creeperExplodeWhenKilled = getBoolean("mobs.creeper.explode-when-killed", creeperExplodeWhenKilled); diff --git a/patches/server/0181-Iron-golem-poppy-calms-anger.patch b/patches/server/0179-Iron-golem-poppy-calms-anger.patch similarity index 96% rename from patches/server/0181-Iron-golem-poppy-calms-anger.patch rename to patches/server/0179-Iron-golem-poppy-calms-anger.patch index a823b7661..5144a6539 100644 --- a/patches/server/0181-Iron-golem-poppy-calms-anger.patch +++ b/patches/server/0179-Iron-golem-poppy-calms-anger.patch @@ -17,10 +17,10 @@ index 52cc0df083d5a4685fd00f7db0d92b277fb0c994..ff5d6f437b880ab0aa5897089694a620 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/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d33884c6d97c4caec65efe3e18ce6473a62ccfd1..1aa0932807e66f94588a453268fd06fbf38ef853 100644 +index f72469212455a82246b2d498d059887458bebe31..aed1dfb0d73cf5abdc78bccf85255907e59ba1c2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1316,6 +1316,7 @@ public class PurpurWorldConfig { +@@ -1285,6 +1285,7 @@ public class PurpurWorldConfig { public boolean ironGolemCanSwim = false; public double ironGolemMaxHealth = 100.0D; public boolean ironGolemTakeDamageFromWater = false; @@ -28,7 +28,7 @@ index d33884c6d97c4caec65efe3e18ce6473a62ccfd1..1aa0932807e66f94588a453268fd06fb private void ironGolemSettings() { ironGolemRidable = getBoolean("mobs.iron_golem.ridable", ironGolemRidable); ironGolemRidableInWater = getBoolean("mobs.iron_golem.ridable-in-water", ironGolemRidableInWater); -@@ -1327,6 +1328,7 @@ public class PurpurWorldConfig { +@@ -1296,6 +1297,7 @@ public class PurpurWorldConfig { } ironGolemMaxHealth = getDouble("mobs.iron_golem.attributes.max_health", ironGolemMaxHealth); ironGolemTakeDamageFromWater = getBoolean("mobs.iron_golem.takes-damage-from-water", ironGolemTakeDamageFromWater); diff --git a/patches/server/0182-Breedable-parrots.patch b/patches/server/0180-Breedable-parrots.patch similarity index 94% rename from patches/server/0182-Breedable-parrots.patch rename to patches/server/0180-Breedable-parrots.patch index 22bd0237a..c1542303c 100644 --- a/patches/server/0182-Breedable-parrots.patch +++ b/patches/server/0180-Breedable-parrots.patch @@ -50,10 +50,10 @@ index de702ce3e2dffc44e380b8470aa540a3226a54cb..bb9717d1b2039469aae26e0eb9a4304b @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 1aa0932807e66f94588a453268fd06fbf38ef853..2191f82f4cf6e47b0b9f32afc7d74838a05d5e57 100644 +index aed1dfb0d73cf5abdc78bccf85255907e59ba1c2..3b4bba58765dde47fc12ab863fadaca84e1e7442 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1466,6 +1466,7 @@ public class PurpurWorldConfig { +@@ -1435,6 +1435,7 @@ public class PurpurWorldConfig { public double parrotMaxY = 256D; public double parrotMaxHealth = 6.0D; public boolean parrotTakeDamageFromWater = false; @@ -61,7 +61,7 @@ index 1aa0932807e66f94588a453268fd06fbf38ef853..2191f82f4cf6e47b0b9f32afc7d74838 private void parrotSettings() { parrotRidable = getBoolean("mobs.parrot.ridable", parrotRidable); parrotRidableInWater = getBoolean("mobs.parrot.ridable-in-water", parrotRidableInWater); -@@ -1477,6 +1478,7 @@ public class PurpurWorldConfig { +@@ -1446,6 +1447,7 @@ public class PurpurWorldConfig { } parrotMaxHealth = getDouble("mobs.parrot.attributes.max_health", parrotMaxHealth); parrotTakeDamageFromWater = getBoolean("mobs.parrot.takes-damage-from-water", parrotTakeDamageFromWater); diff --git a/patches/server/0183-Configurable-powered-rail-boost-modifier.patch b/patches/server/0181-Configurable-powered-rail-boost-modifier.patch similarity index 96% rename from patches/server/0183-Configurable-powered-rail-boost-modifier.patch rename to patches/server/0181-Configurable-powered-rail-boost-modifier.patch index b4f4c40f2..929c1457c 100644 --- a/patches/server/0183-Configurable-powered-rail-boost-modifier.patch +++ b/patches/server/0181-Configurable-powered-rail-boost-modifier.patch @@ -18,7 +18,7 @@ index 6b58b32711b3aba9b7de9e7dee6d02073dad3b7f..0e6f2d1d48910c573ec2237002a02f33 Vec3 vec3d5 = this.getDeltaMovement(); double d21 = vec3d5.x; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2191f82f4cf6e47b0b9f32afc7d74838a05d5e57..cbc6e0aa76db3a0b58be9c1415e6cdc838eb9df7 100644 +index 3b4bba58765dde47fc12ab863fadaca84e1e7442..27e57b560463c789d08f5d2df423d85809c59c68 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -227,6 +227,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0184-Add-config-change-multiplier-critical-damage-value.patch b/patches/server/0182-Add-config-change-multiplier-critical-damage-value.patch similarity index 96% rename from patches/server/0184-Add-config-change-multiplier-critical-damage-value.patch rename to patches/server/0182-Add-config-change-multiplier-critical-damage-value.patch index 9fe1a48d5..4334db826 100644 --- a/patches/server/0184-Add-config-change-multiplier-critical-damage-value.patch +++ b/patches/server/0182-Add-config-change-multiplier-critical-damage-value.patch @@ -18,7 +18,7 @@ index 4ddeb2361528406a359eb0ccb204c965a03fc729..4252ff0201cbfbecc7b95ca86c1763dc f += f1; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index cbc6e0aa76db3a0b58be9c1415e6cdc838eb9df7..9340520fc1f636d1c00b6c64fc838e21e23f48a4 100644 +index 27e57b560463c789d08f5d2df423d85809c59c68..156b5e9cc26d75c3930450be79efc9535ddb0d05 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -326,6 +326,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0185-Option-to-disable-dragon-egg-teleporting.patch b/patches/server/0183-Option-to-disable-dragon-egg-teleporting.patch similarity index 92% rename from patches/server/0185-Option-to-disable-dragon-egg-teleporting.patch rename to patches/server/0183-Option-to-disable-dragon-egg-teleporting.patch index 819868ccc..8cdc56e30 100644 --- a/patches/server/0185-Option-to-disable-dragon-egg-teleporting.patch +++ b/patches/server/0183-Option-to-disable-dragon-egg-teleporting.patch @@ -19,10 +19,10 @@ index 7e1edcc7b9f170b7c649437c2f0dd78c0bab9be4..5f8ac1fdac2c334951261f2b9702f5e7 BlockPos blockposition1 = pos.offset(world.random.nextInt(16) - world.random.nextInt(16), world.random.nextInt(8) - world.random.nextInt(8), world.random.nextInt(16) - world.random.nextInt(16)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9340520fc1f636d1c00b6c64fc838e21e23f48a4..bf94f53fb409cb1504e7b8330fcf54d9835e10c2 100644 +index 156b5e9cc26d75c3930450be79efc9535ddb0d05..6688ae6c5b8e5a2dc69e253b320f35c28dd24c5c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -547,6 +547,11 @@ public class PurpurWorldConfig { +@@ -540,6 +540,11 @@ public class PurpurWorldConfig { }); } diff --git a/patches/server/0186-Config-for-unverified-username-message.patch b/patches/server/0184-Config-for-unverified-username-message.patch similarity index 97% rename from patches/server/0186-Config-for-unverified-username-message.patch rename to patches/server/0184-Config-for-unverified-username-message.patch index 712f9209d..f152cd8bd 100644 --- a/patches/server/0186-Config-for-unverified-username-message.patch +++ b/patches/server/0184-Config-for-unverified-username-message.patch @@ -18,7 +18,7 @@ index 33a29890435d6065a2cc4f8e8bf8209c01d5d114..b86d5e736d786ac3c74fec3ad1285400 } } catch (AuthenticationUnavailableException authenticationunavailableexception) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 1a3618597bf2ad131152379ddeb54f4a3b11b052..5028f8556cba1df1e776c305ca58c37e0d1194e7 100644 +index 47a731efd6f28096439089d69a3502193ba3f000..552e3cbd352302fb0dbc4c2b80df465c13012b84 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -166,6 +166,7 @@ public class PurpurConfig { diff --git a/patches/server/0187-Make-anvil-cumulative-cost-configurable.patch b/patches/server/0185-Make-anvil-cumulative-cost-configurable.patch similarity index 95% rename from patches/server/0187-Make-anvil-cumulative-cost-configurable.patch rename to patches/server/0185-Make-anvil-cumulative-cost-configurable.patch index 581326b0d..a013e4c2b 100644 --- a/patches/server/0187-Make-anvil-cumulative-cost-configurable.patch +++ b/patches/server/0185-Make-anvil-cumulative-cost-configurable.patch @@ -18,7 +18,7 @@ index 3f786be9c9efc069a3a1bc457f02421310941800..669093b7f531b4ff9d8348d0a08c8690 public void setItemName(String newItemName) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 5028f8556cba1df1e776c305ca58c37e0d1194e7..841e858c68a4079be1d81d51638ebd107c724bf3 100644 +index 552e3cbd352302fb0dbc4c2b80df465c13012b84..8321e23dd4f8b553f085bbb9aec0dd17421a2c95 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -257,6 +257,7 @@ public class PurpurConfig { diff --git a/patches/server/0188-ShulkerBox-allow-oversized-stacks.patch b/patches/server/0186-ShulkerBox-allow-oversized-stacks.patch similarity index 95% rename from patches/server/0188-ShulkerBox-allow-oversized-stacks.patch rename to patches/server/0186-ShulkerBox-allow-oversized-stacks.patch index 5f3038f77..a7e8e9663 100644 --- a/patches/server/0188-ShulkerBox-allow-oversized-stacks.patch +++ b/patches/server/0186-ShulkerBox-allow-oversized-stacks.patch @@ -35,10 +35,10 @@ index 7f1230d915c98b6f30b13a06c2788bc2f7b7e912..9439119a70a411b1a7d9cd6a0090e413 blockEntity.saveToItem(itemStack); if (shulkerBoxBlockEntity.hasCustomName()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bf94f53fb409cb1504e7b8330fcf54d9835e10c2..d1b84e613bc7283b8f2dbb0671435be23ae48331 100644 +index 6688ae6c5b8e5a2dc69e253b320f35c28dd24c5c..c15b2234f3e670990e0ca70054967da349f347eb 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -672,6 +672,11 @@ public class PurpurWorldConfig { +@@ -660,6 +660,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0189-Bee-can-work-when-raining-or-at-night.patch b/patches/server/0187-Bee-can-work-when-raining-or-at-night.patch similarity index 94% rename from patches/server/0189-Bee-can-work-when-raining-or-at-night.patch rename to patches/server/0187-Bee-can-work-when-raining-or-at-night.patch index ea7b4f73d..f52d17cfa 100644 --- a/patches/server/0189-Bee-can-work-when-raining-or-at-night.patch +++ b/patches/server/0187-Bee-can-work-when-raining-or-at-night.patch @@ -31,10 +31,10 @@ index 2f8e6fb9f811fcfa6b6ed4dd15fcb38f061c8491..5faa6386a5666593f7bfb68dc4f1f303 return false; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index d1b84e613bc7283b8f2dbb0671435be23ae48331..549e835ab9b8c2ab1f2b8a5b292c7083f81353cf 100644 +index c15b2234f3e670990e0ca70054967da349f347eb..361bf78d87631d164b11831a8fc551eaa1a3615b 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -779,6 +779,8 @@ public class PurpurWorldConfig { +@@ -748,6 +748,8 @@ public class PurpurWorldConfig { public double beeMaxHealth = 10.0D; public int beeBreedingTicks = 6000; public boolean beeTakeDamageFromWater = false; @@ -43,7 +43,7 @@ index d1b84e613bc7283b8f2dbb0671435be23ae48331..549e835ab9b8c2ab1f2b8a5b292c7083 private void beeSettings() { beeRidable = getBoolean("mobs.bee.ridable", beeRidable); beeRidableInWater = getBoolean("mobs.bee.ridable-in-water", beeRidableInWater); -@@ -791,6 +793,8 @@ public class PurpurWorldConfig { +@@ -760,6 +762,8 @@ public class PurpurWorldConfig { beeMaxHealth = getDouble("mobs.bee.attributes.max_health", beeMaxHealth); beeBreedingTicks = getInt("mobs.bee.breeding-delay-ticks", beeBreedingTicks); beeTakeDamageFromWater = getBoolean("mobs.bee.takes-damage-from-water", beeTakeDamageFromWater); diff --git a/patches/server/0190-API-for-any-mob-to-burn-daylight.patch b/patches/server/0188-API-for-any-mob-to-burn-daylight.patch similarity index 99% rename from patches/server/0190-API-for-any-mob-to-burn-daylight.patch rename to patches/server/0188-API-for-any-mob-to-burn-daylight.patch index e2375fee3..ab67f3ca3 100644 --- a/patches/server/0190-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0188-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 283f79e39a478dbcfe7912c6d24658ebd2f5209c..a954228a1486d3db1a3cdca3eec9f11edf92e015 100644 +index 9a2230a19800742c586f7d5925a6b88cca51ce3e..2a8bdc91486876327cee54960e05f6e8d4b6fa92 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4253,5 +4253,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -4345,5 +4345,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i public boolean canSaveToDisk() { return true; } diff --git a/patches/server/0191-Fix-advancement-triggers-on-entity-death.patch b/patches/server/0189-Fix-advancement-triggers-on-entity-death.patch similarity index 100% rename from patches/server/0191-Fix-advancement-triggers-on-entity-death.patch rename to patches/server/0189-Fix-advancement-triggers-on-entity-death.patch diff --git a/patches/server/0192-Config-MobEffect-by-world.patch b/patches/server/0190-Config-MobEffect-by-world.patch similarity index 98% rename from patches/server/0192-Config-MobEffect-by-world.patch rename to patches/server/0190-Config-MobEffect-by-world.patch index 7cb5d7f02..0313facbe 100644 --- a/patches/server/0192-Config-MobEffect-by-world.patch +++ b/patches/server/0190-Config-MobEffect-by-world.patch @@ -40,7 +40,7 @@ index 8bbb9bdcf95989f1737714655f6f6a269d46d7f2..8d569eb2ec1b2bdbd415094ae04ae531 ((ServerPlayer) entityhuman).connection.send(new ClientboundSetHealthPacket(((ServerPlayer) entityhuman).getBukkitEntity().getScaledHealth(), entityhuman.getFoodData().foodLevel, entityhuman.getFoodData().saturationLevel)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 549e835ab9b8c2ab1f2b8a5b292c7083f81353cf..9843e75c05fe49ea1fc3180e9bfe9b7ffeeb5b71 100644 +index 361bf78d87631d164b11831a8fc551eaa1a3615b..e2688f6467b9e395f64df4d90bb9747cab57506d 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -283,6 +283,21 @@ public class PurpurWorldConfig { diff --git a/patches/server/0193-Beacon-Activation-Range-Configurable.patch b/patches/server/0191-Beacon-Activation-Range-Configurable.patch similarity index 96% rename from patches/server/0193-Beacon-Activation-Range-Configurable.patch rename to patches/server/0191-Beacon-Activation-Range-Configurable.patch index bf610df9a..772ac7c24 100644 --- a/patches/server/0193-Beacon-Activation-Range-Configurable.patch +++ b/patches/server/0191-Beacon-Activation-Range-Configurable.patch @@ -26,7 +26,7 @@ index 423560afba1bc03c0bb2b7d5d028451f34e59ec5..080694a06c9fdf57317dd281c4ddbd6c } else { return effectRange; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 9843e75c05fe49ea1fc3180e9bfe9b7ffeeb5b71..3428e22f7cf6bca5cb1d49cdd434c5f039da3091 100644 +index e2688f6467b9e395f64df4d90bb9747cab57506d..fc5279fee33682f48442e21950183ad788d690c6 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -512,6 +512,17 @@ public class PurpurWorldConfig { diff --git a/patches/server/0194-Add-toggle-for-sand-duping-fix.patch b/patches/server/0192-Add-toggle-for-sand-duping-fix.patch similarity index 93% rename from patches/server/0194-Add-toggle-for-sand-duping-fix.patch rename to patches/server/0192-Add-toggle-for-sand-duping-fix.patch index b0cb058ef..5147b9ca8 100644 --- a/patches/server/0194-Add-toggle-for-sand-duping-fix.patch +++ b/patches/server/0192-Add-toggle-for-sand-duping-fix.patch @@ -27,10 +27,10 @@ index 0c94b4cb6ee0c3dffe0b67a2291d0160ae0ef96f..92a9869dbabcaa704a0da8bc86f75786 } // Paper end - fix sand duping diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3428e22f7cf6bca5cb1d49cdd434c5f039da3091..67557b4c3495c15d3fba68852e9e09810a9c2750 100644 +index fc5279fee33682f48442e21950183ad788d690c6..fc183f9910f4d8f873261a29a23406270c19671e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -698,6 +698,11 @@ public class PurpurWorldConfig { +@@ -686,6 +686,11 @@ public class PurpurWorldConfig { } } diff --git a/patches/server/0195-Add-toggle-for-end-portal-safe-teleporting.patch b/patches/server/0193-Add-toggle-for-end-portal-safe-teleporting.patch similarity index 90% rename from patches/server/0195-Add-toggle-for-end-portal-safe-teleporting.patch rename to patches/server/0193-Add-toggle-for-end-portal-safe-teleporting.patch index b95778025..1b0948f65 100644 --- a/patches/server/0195-Add-toggle-for-end-portal-safe-teleporting.patch +++ b/patches/server/0193-Add-toggle-for-end-portal-safe-teleporting.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add toggle for end portal safe teleporting diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a954228a1486d3db1a3cdca3eec9f11edf92e015..9d6c9d623f3d0d8637f00566abe538a6d8c51d24 100644 +index 2a8bdc91486876327cee54960e05f6e8d4b6fa92..a0017c92d8e52b6cfaf8d82fb4d74266c23f1191 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2677,7 +2677,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i +@@ -2764,7 +2764,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } this.processPortalCooldown(); @@ -45,10 +45,10 @@ index bd4f980f68330fc46a02a6f4bb4403fac3a91919..8601ea0575323ea7cf07c4909a495bf5 entity.portalWorld = ((ServerLevel)world); entity.portalBlock = pos.immutable(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 67557b4c3495c15d3fba68852e9e09810a9c2750..dbf4f78f4089edc437658a73a2cb242b9729d190 100644 +index fc183f9910f4d8f873261a29a23406270c19671e..c99792ab6f1ab547726453406fad6b05c06db7f7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -633,6 +633,11 @@ public class PurpurWorldConfig { +@@ -626,6 +626,11 @@ public class PurpurWorldConfig { furnaceUseLavaFromUnderneath = getBoolean("blocks.furnace.use-lava-from-underneath", furnaceUseLavaFromUnderneath); } diff --git a/patches/server/0196-Flying-Fall-Damage-API.patch b/patches/server/0194-Flying-Fall-Damage-API.patch similarity index 92% rename from patches/server/0196-Flying-Fall-Damage-API.patch rename to patches/server/0194-Flying-Fall-Damage-API.patch index c58fdfbd0..0144c42ed 100644 --- a/patches/server/0196-Flying-Fall-Damage-API.patch +++ b/patches/server/0194-Flying-Fall-Damage-API.patch @@ -26,10 +26,10 @@ index 5a73b085782dad9e4e35af18e6c70aca70793a5b..e25b8b0023d4f0368f3104a9b2a01558 } 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 235dbac7c3c28e5c2fb2aa3bfbafc7ff008e00ff..c1404be359c9f21bb7ae94b9cf69b6a01ba75392 100644 +index e92c9815ce3f41760e4a31b01ce90d0818657521..9879a38526648652d3c8362d7166bd0217385043 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2614,5 +2614,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2628,5 +2628,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) { getHandle().spawnInvulnerableTime = spawnInvulnerableTime; } diff --git a/patches/server/0197-Make-lightning-rod-range-configurable.patch b/patches/server/0195-Make-lightning-rod-range-configurable.patch similarity index 92% rename from patches/server/0197-Make-lightning-rod-range-configurable.patch rename to patches/server/0195-Make-lightning-rod-range-configurable.patch index bbbbe46cf..2e9fc6b81 100644 --- a/patches/server/0197-Make-lightning-rod-range-configurable.patch +++ b/patches/server/0195-Make-lightning-rod-range-configurable.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Make lightning rod range configurable diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 62d6764b5477e77b34a96e816be74050eede6b4b..38cec56f2e399176be6fdc0db1da687d74d12215 100644 +index f4f87fb9ce5ebdb44ae4568c4b0d151f5c108fee..3ddf11e24e0d05e3ee6c9e17eebee4e177ed63fe 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -893,7 +893,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -18,7 +18,7 @@ index 62d6764b5477e77b34a96e816be74050eede6b4b..38cec56f2e399176be6fdc0db1da687d return optional.map((blockposition1) -> { return blockposition1.above(1); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 841e858c68a4079be1d81d51638ebd107c724bf3..643a19ef33b317df30b7bd3bd3420b90bea31179 100644 +index 8321e23dd4f8b553f085bbb9aec0dd17421a2c95..9428d187532a4f3413f76bc9ab2b34be0f946c95 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -258,6 +258,7 @@ public class PurpurConfig { diff --git a/patches/server/0198-Burp-after-eating-food-fills-hunger-bar-completely.patch b/patches/server/0196-Burp-after-eating-food-fills-hunger-bar-completely.patch similarity index 97% rename from patches/server/0198-Burp-after-eating-food-fills-hunger-bar-completely.patch rename to patches/server/0196-Burp-after-eating-food-fills-hunger-bar-completely.patch index 014420d40..c8ba98739 100644 --- a/patches/server/0198-Burp-after-eating-food-fills-hunger-bar-completely.patch +++ b/patches/server/0196-Burp-after-eating-food-fills-hunger-bar-completely.patch @@ -55,7 +55,7 @@ index 2934b6de1f1fb914a532ee20184df99d1acd8e65..65421cfff05c0493f5fef1bdff03172c public void eat(Item item, ItemStack stack) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index dbf4f78f4089edc437658a73a2cb242b9729d190..3d079a1c63ff4dedb095e98f75a39b50ef1d04a1 100644 +index c99792ab6f1ab547726453406fad6b05c06db7f7..b29928291e866419719c0f4c70b41c48b2b5615a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -342,6 +342,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0199-Allow-player-join-full-server-by-permission.patch b/patches/server/0197-Allow-player-join-full-server-by-permission.patch similarity index 93% rename from patches/server/0199-Allow-player-join-full-server-by-permission.patch rename to patches/server/0197-Allow-player-join-full-server-by-permission.patch index f22930d2b..9eb4b101c 100644 --- a/patches/server/0199-Allow-player-join-full-server-by-permission.patch +++ b/patches/server/0197-Allow-player-join-full-server-by-permission.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Allow player join full server by permission diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index cf5916a1fe4fcf5353f5c7a00074b668469038ac..a1d851edb0f4eb5500146bda349b19f64932f13c 100644 +index 63e8397d6eff95ed81ab5d7cdb69495e188d931b..c29955b6fb2127c6abf6b7b1cd69082f45bceee7 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -762,7 +762,7 @@ public abstract class PlayerList { diff --git a/patches/server/0200-Add-permission-bypass-for-portal-waiting.patch b/patches/server/0198-Add-permission-bypass-for-portal-waiting.patch similarity index 94% rename from patches/server/0200-Add-permission-bypass-for-portal-waiting.patch rename to patches/server/0198-Add-permission-bypass-for-portal-waiting.patch index 760ba1555..77c94c6ca 100644 --- a/patches/server/0200-Add-permission-bypass-for-portal-waiting.patch +++ b/patches/server/0198-Add-permission-bypass-for-portal-waiting.patch @@ -26,7 +26,7 @@ index 824365f63052cae797e53bf3a30fea78e3b60492..a527b048e2fe4716609778f03060e13b @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java -index eb0ce87bc8eac723b73c2ee6da41db5da3fab401..7346155ea471f64cc283c2643f665016dcdb12cd 100644 +index b39117c4505926da0be9c8248964a233393e8e2d..c31af7b3c186244857e9f2c40005daa764d7ba7c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftHumanEntity.java @@ -245,6 +245,7 @@ public class CraftHumanEntity extends CraftLivingEntity implements HumanEntity { diff --git a/patches/server/0201-Shulker-spawn-from-bullet-options.patch b/patches/server/0199-Shulker-spawn-from-bullet-options.patch similarity index 96% rename from patches/server/0201-Shulker-spawn-from-bullet-options.patch rename to patches/server/0199-Shulker-spawn-from-bullet-options.patch index 4cd6c48f5..61707a90f 100644 --- a/patches/server/0201-Shulker-spawn-from-bullet-options.patch +++ b/patches/server/0199-Shulker-spawn-from-bullet-options.patch @@ -61,10 +61,10 @@ index f812a75985d26785639491c9a980387a3f261f2d..b11fb39b69f5225ca7da72ca1a2200c7 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 3d079a1c63ff4dedb095e98f75a39b50ef1d04a1..ab1d8798c092683b862a0c74dd9751395e3da1ae 100644 +index b29928291e866419719c0f4c70b41c48b2b5615a..4433a1da011a607d488464274b8fee5b021ae110 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1808,6 +1808,11 @@ public class PurpurWorldConfig { +@@ -1777,6 +1777,11 @@ public class PurpurWorldConfig { public boolean shulkerRidableInWater = false; public double shulkerMaxHealth = 30.0D; public boolean shulkerTakeDamageFromWater = false; @@ -76,7 +76,7 @@ index 3d079a1c63ff4dedb095e98f75a39b50ef1d04a1..ab1d8798c092683b862a0c74dd975139 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -1818,6 +1823,11 @@ public class PurpurWorldConfig { +@@ -1787,6 +1792,11 @@ public class PurpurWorldConfig { } shulkerMaxHealth = getDouble("mobs.shulker.attributes.max_health", shulkerMaxHealth); shulkerTakeDamageFromWater = getBoolean("mobs.shulker.takes-damage-from-water", shulkerTakeDamageFromWater); diff --git a/patches/server/0202-Eating-glow-berries-adds-glow-effect.patch b/patches/server/0200-Eating-glow-berries-adds-glow-effect.patch similarity index 97% rename from patches/server/0202-Eating-glow-berries-adds-glow-effect.patch rename to patches/server/0200-Eating-glow-berries-adds-glow-effect.patch index d941809c8..2ba295fd4 100644 --- a/patches/server/0202-Eating-glow-berries-adds-glow-effect.patch +++ b/patches/server/0200-Eating-glow-berries-adds-glow-effect.patch @@ -18,7 +18,7 @@ index 85329295afacad3edb6865846166aa56ebae0ed2..513343d225a71e242b0f237eefcd2514 public static final Item SOUL_CAMPFIRE = registerBlock(Blocks.SOUL_CAMPFIRE, CreativeModeTab.TAB_DECORATIONS); public static final Item SHROOMLIGHT = registerBlock(Blocks.SHROOMLIGHT, CreativeModeTab.TAB_DECORATIONS); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ab1d8798c092683b862a0c74dd9751395e3da1ae..e7514438274af2e71c1323f75e21ccf1e0303814 100644 +index 4433a1da011a607d488464274b8fee5b021ae110..af1c22c3e59ad0ee260d90f24c0b43a53d342acd 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -174,6 +174,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0203-Option-to-make-drowned-break-doors.patch b/patches/server/0201-Option-to-make-drowned-break-doors.patch similarity index 94% rename from patches/server/0203-Option-to-make-drowned-break-doors.patch rename to patches/server/0201-Option-to-make-drowned-break-doors.patch index b06b48d06..148e00d4c 100644 --- a/patches/server/0203-Option-to-make-drowned-break-doors.patch +++ b/patches/server/0201-Option-to-make-drowned-break-doors.patch @@ -34,10 +34,10 @@ index 4d2bb12b8168fceae71622a9f8bd5102d0024208..a592fb29097232d5d9c6e6d946fb326f @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index e7514438274af2e71c1323f75e21ccf1e0303814..7d95c170d769e17e0f5d4791e47636c95565aeb9 100644 +index af1c22c3e59ad0ee260d90f24c0b43a53d342acd..59b5878b51628cc8fa9edce8b4d5a4cf2a928e50 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1039,6 +1039,7 @@ public class PurpurWorldConfig { +@@ -1008,6 +1008,7 @@ public class PurpurWorldConfig { public double drownedJockeyChance = 0.05D; public boolean drownedJockeyTryExistingChickens = true; public boolean drownedTakeDamageFromWater = false; @@ -45,7 +45,7 @@ index e7514438274af2e71c1323f75e21ccf1e0303814..7d95c170d769e17e0f5d4791e47636c9 private void drownedSettings() { drownedRidable = getBoolean("mobs.drowned.ridable", drownedRidable); drownedRidableInWater = getBoolean("mobs.drowned.ridable-in-water", drownedRidableInWater); -@@ -1053,6 +1054,7 @@ public class PurpurWorldConfig { +@@ -1022,6 +1023,7 @@ public class PurpurWorldConfig { drownedJockeyChance = getDouble("mobs.drowned.jockey.chance", drownedJockeyChance); drownedJockeyTryExistingChickens = getBoolean("mobs.drowned.jockey.try-existing-chickens", drownedJockeyTryExistingChickens); drownedTakeDamageFromWater = getBoolean("mobs.drowned.takes-damage-from-water", drownedTakeDamageFromWater); diff --git a/patches/server/0204-Configurable-hunger-starvation-damage.patch b/patches/server/0202-Configurable-hunger-starvation-damage.patch similarity index 92% rename from patches/server/0204-Configurable-hunger-starvation-damage.patch rename to patches/server/0202-Configurable-hunger-starvation-damage.patch index f74e5442b..755746965 100644 --- a/patches/server/0204-Configurable-hunger-starvation-damage.patch +++ b/patches/server/0202-Configurable-hunger-starvation-damage.patch @@ -18,10 +18,10 @@ index 65421cfff05c0493f5fef1bdff03172c9e33f33e..63584faeec4e5013be7a377e3203ec16 this.tickTimer = 0; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7d95c170d769e17e0f5d4791e47636c95565aeb9..ec7abc7bbbaecf4b6dab7635c33f89d0e6c0a608 100644 +index 59b5878b51628cc8fa9edce8b4d5a4cf2a928e50..2e0710cf3e930417772bd483eeda2023d23160ef 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2397,4 +2397,9 @@ public class PurpurWorldConfig { +@@ -2366,4 +2366,9 @@ public class PurpurWorldConfig { zombifiedPiglinCountAsPlayerKillWhenAngry = getBoolean("mobs.zombified_piglin.count-as-player-kill-when-angry", zombifiedPiglinCountAsPlayerKillWhenAngry); zombifiedPiglinTakeDamageFromWater = getBoolean("mobs.zombified_piglin.takes-damage-from-water", zombifiedPiglinTakeDamageFromWater); } diff --git a/patches/server/0205-Redirect-System.out-calls-to-plugin-loggers.patch b/patches/server/0203-Redirect-System.out-calls-to-plugin-loggers.patch similarity index 98% rename from patches/server/0205-Redirect-System.out-calls-to-plugin-loggers.patch rename to patches/server/0203-Redirect-System.out-calls-to-plugin-loggers.patch index 80d75078e..b66c946ac 100644 --- a/patches/server/0205-Redirect-System.out-calls-to-plugin-loggers.patch +++ b/patches/server/0203-Redirect-System.out-calls-to-plugin-loggers.patch @@ -20,7 +20,7 @@ index 455776981274e64724376a3182b60784b56db9cf..cd859eec6b0bee44bce83614e5570938 thread.setDaemon(true); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index ad2f47668c61e8e0023da8349c5fcec28b46b32f..6659d55234a18a8ddff7489565842d7019cd5701 100644 +index d397daf9a6b2128735a0732565a41be9197742a4..52686415c7a37c14c16537d44f6b2c6420accb87 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -293,7 +293,7 @@ public final class CraftServer implements Server { diff --git a/patches/server/0206-Armor-click-equip-options.patch b/patches/server/0204-Armor-click-equip-options.patch similarity index 98% rename from patches/server/0206-Armor-click-equip-options.patch rename to patches/server/0204-Armor-click-equip-options.patch index 11d1714be..f7f36e1c0 100644 --- a/patches/server/0206-Armor-click-equip-options.patch +++ b/patches/server/0204-Armor-click-equip-options.patch @@ -58,7 +58,7 @@ index 42f79d418ec4e2dbeac9a217d9dc144cda2ef714..250c0e31825f772d3fee7a523f150cb2 return InteractionResultHolder.fail(itemStack); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ec7abc7bbbaecf4b6dab7635c33f89d0e6c0a608..b22347a9b3566fae94da5edb4ef6609540f2bffe 100644 +index 2e0710cf3e930417772bd483eeda2023d23160ef..9382ffcf60cf50d37d53940a8842d68d0d101bfe 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -345,6 +345,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0207-Add-uptime-command.patch b/patches/server/0205-Add-uptime-command.patch similarity index 97% rename from patches/server/0207-Add-uptime-command.patch rename to patches/server/0205-Add-uptime-command.patch index 1fe0cda81..fc96d7352 100644 --- a/patches/server/0207-Add-uptime-command.patch +++ b/patches/server/0205-Add-uptime-command.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add uptime command diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 6914b9a27798ee1f4f4169ff70b9cc4e2b61d9b4..99e94cbb4696164fc686cea739594eecc345e616 100644 +index bc418143e63bfe9553f6853b89c6f5e8fb73c36e..04aa3a9d98ff4de3ce0bbacb07dc30170ff232b1 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -208,6 +208,7 @@ public class Commands { @@ -29,7 +29,7 @@ index e759c7f4686a88fdfd15d9ecd6b891f60b026468..3d45aa3cf8e25790dba332105c397dce public int autosavePeriod; public Commands vanillaCommandDispatcher; diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 643a19ef33b317df30b7bd3bd3420b90bea31179..4081c96a44aba871c51ab9ae246bbb2b55ae7b09 100644 +index 9428d187532a4f3413f76bc9ab2b34be0f946c95..60c6793cf7a684f7c111c05fc453413e1ea3fd2f 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -166,6 +166,7 @@ public class PurpurConfig { diff --git a/patches/server/0208-Structure-seed-options.patch b/patches/server/0206-Structure-seed-options.patch similarity index 97% rename from patches/server/0208-Structure-seed-options.patch rename to patches/server/0206-Structure-seed-options.patch index 3ad5ae862..7eccd95a1 100644 --- a/patches/server/0208-Structure-seed-options.patch +++ b/patches/server/0206-Structure-seed-options.patch @@ -33,7 +33,7 @@ index e4591c0b3c8547cc6f4e2a0891fc378ee4334d9e..fe0f14b363f4e6b583cd079f2cf62760 updated.put(entry.getKey(), new StructureFeatureConfiguration(feature.spacing(), feature.separation(), seed)); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 4081c96a44aba871c51ab9ae246bbb2b55ae7b09..34096550efcdf11d3bba577d6c693d8c349ca43b 100644 +index 60c6793cf7a684f7c111c05fc453413e1ea3fd2f..0ccb09e9c00f7434f4158001c983ab547c7b56e0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -194,6 +194,17 @@ public class PurpurConfig { diff --git a/patches/server/0209-Tool-actionable-options.patch b/patches/server/0207-Tool-actionable-options.patch similarity index 99% rename from patches/server/0209-Tool-actionable-options.patch rename to patches/server/0207-Tool-actionable-options.patch index be26fe0eb..5c647172f 100644 --- a/patches/server/0209-Tool-actionable-options.patch +++ b/patches/server/0207-Tool-actionable-options.patch @@ -109,7 +109,7 @@ index a5c2d6f0c0850a99224a1a8d622fe6b341cee88b..d8777ab86465e25236e7abbafd7ff668 return InteractionResult.PASS; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b22347a9b3566fae94da5edb4ef6609540f2bffe..c5c0fb7bceddb1c1bb689bf67ed815fe361ae2ba 100644 +index 9382ffcf60cf50d37d53940a8842d68d0d101bfe..89584a299d163d36dfab27a2b5e585c0b361f8a1 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -472,6 +472,153 @@ public class PurpurWorldConfig { diff --git a/patches/server/0210-Store-placer-on-Block-when-placed.patch b/patches/server/0208-Store-placer-on-Block-when-placed.patch similarity index 100% rename from patches/server/0210-Store-placer-on-Block-when-placed.patch rename to patches/server/0208-Store-placer-on-Block-when-placed.patch diff --git a/patches/server/0211-Summoner-API.patch b/patches/server/0209-Summoner-API.patch similarity index 100% rename from patches/server/0211-Summoner-API.patch rename to patches/server/0209-Summoner-API.patch diff --git a/patches/server/0212-Customizable-sleeping-actionbar-messages.patch b/patches/server/0210-Customizable-sleeping-actionbar-messages.patch similarity index 95% rename from patches/server/0212-Customizable-sleeping-actionbar-messages.patch rename to patches/server/0210-Customizable-sleeping-actionbar-messages.patch index 29248908d..4dc599b63 100644 --- a/patches/server/0212-Customizable-sleeping-actionbar-messages.patch +++ b/patches/server/0210-Customizable-sleeping-actionbar-messages.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Customizable sleeping actionbar messages diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 38cec56f2e399176be6fdc0db1da687d74d12215..593906beaeb9c9c30fe4e9a092b2494b248905ae 100644 +index 3ddf11e24e0d05e3ee6c9e17eebee4e177ed63fe..d2b88b33149f5fa6360396f65088abd6b8e0f8f7 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -942,11 +942,29 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -40,7 +40,7 @@ index 38cec56f2e399176be6fdc0db1da687d74d12215..593906beaeb9c9c30fe4e9a092b2494b } diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 34096550efcdf11d3bba577d6c693d8c349ca43b..b149e8cebf42a08e2e786f8bc06fc8b4387c991d 100644 +index 0ccb09e9c00f7434f4158001c983ab547c7b56e0..049bf902e8e77d7eac8dc868593c215bf04838a9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -168,6 +168,8 @@ public class PurpurConfig { diff --git a/patches/server/0213-option-to-disable-shulker-box-items-from-dropping-co.patch b/patches/server/0211-option-to-disable-shulker-box-items-from-dropping-co.patch similarity index 96% rename from patches/server/0213-option-to-disable-shulker-box-items-from-dropping-co.patch rename to patches/server/0211-option-to-disable-shulker-box-items-from-dropping-co.patch index 5f6973139..1e2614d76 100644 --- a/patches/server/0213-option-to-disable-shulker-box-items-from-dropping-co.patch +++ b/patches/server/0211-option-to-disable-shulker-box-items-from-dropping-co.patch @@ -19,7 +19,7 @@ index 8175bb6331727440da2232998bdad068a1c47ae8..be47543240bd573cd2cc08f84b7eab1c CompoundTag nbttagcompound = BlockItem.getBlockEntityData(itemstack); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c5c0fb7bceddb1c1bb689bf67ed815fe361ae2ba..43b5dd1392a08a11cdd5c095582f60f7322fa729 100644 +index 89584a299d163d36dfab27a2b5e585c0b361f8a1..36202f69545fffa244013336ae1473571c56a3a7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -175,6 +175,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0214-Silk-touchable-budding-amethyst.patch b/patches/server/0212-Silk-touchable-budding-amethyst.patch similarity index 82% rename from patches/server/0214-Silk-touchable-budding-amethyst.patch rename to patches/server/0212-Silk-touchable-budding-amethyst.patch index 2e7031b9d..dc55e613d 100644 --- a/patches/server/0214-Silk-touchable-budding-amethyst.patch +++ b/patches/server/0212-Silk-touchable-budding-amethyst.patch @@ -24,7 +24,7 @@ index 02fc3ede12eadbf72e26e31b1c475c7f5b2ad73a..2288e727929ffb3a3bca138fb0289408 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 43b5dd1392a08a11cdd5c095582f60f7322fa729..8012730d0f82b9ecdee59241c87c9ed56f7f3c67 100644 +index 36202f69545fffa244013336ae1473571c56a3a7..e3254df008f77efa6d67e5c94414a30dc2d7d772 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -696,6 +696,11 @@ public class PurpurWorldConfig { @@ -36,6 +36,11 @@ index 43b5dd1392a08a11cdd5c095582f60f7322fa729..8012730d0f82b9ecdee59241c87c9ed5 + buddingAmethystSilkTouch = getBoolean("blocks.budding_amethyst.silk-touch", buddingAmethystSilkTouch); + } + - public double caveVinesGrowthModifier = 0.10D; - public int caveVinesMaxGrowthAge = 25; - private void caveVinesSettings() { + public boolean chestOpenWithBlockOnTop = false; + private void chestSettings() { + chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); +@@ -2525,3 +2530,4 @@ public class PurpurWorldConfig { + hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); + } + } ++ diff --git a/patches/server/0215-Big-dripleaf-tilt-delay.patch b/patches/server/0213-Big-dripleaf-tilt-delay.patch similarity index 96% rename from patches/server/0215-Big-dripleaf-tilt-delay.patch rename to patches/server/0213-Big-dripleaf-tilt-delay.patch index 553fd8b63..2aa80bb90 100644 --- a/patches/server/0215-Big-dripleaf-tilt-delay.patch +++ b/patches/server/0213-Big-dripleaf-tilt-delay.patch @@ -24,7 +24,7 @@ index 3f434ac77611a81889b15c118a0fca57cc10a6bb..36d65d85d3cc030551fc0957c1ebbff6 if (i != -1) { world.scheduleTick(blockposition, (Block) this, i); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 8012730d0f82b9ecdee59241c87c9ed56f7f3c67..76e599962983c840e3db08f77e54a62b48999d43 100644 +index e3254df008f77efa6d67e5c94414a30dc2d7d772..966d2ee872fe8e48930b54f2d29d29364d81f834 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -696,6 +696,22 @@ public class PurpurWorldConfig { diff --git a/patches/server/0216-Player-ridable-in-water-option.patch b/patches/server/0214-Player-ridable-in-water-option.patch similarity index 96% rename from patches/server/0216-Player-ridable-in-water-option.patch rename to patches/server/0214-Player-ridable-in-water-option.patch index 6d2db4064..7424c331e 100644 --- a/patches/server/0216-Player-ridable-in-water-option.patch +++ b/patches/server/0214-Player-ridable-in-water-option.patch @@ -21,7 +21,7 @@ index a527b048e2fe4716609778f03060e13b8b88c544..4f3bd5847143692a611e5785b9d1fe34 if (!this.isPassenger() && this.onGround && !this.isInWater() && !this.isInPowderSnow) { if (this.getShoulderEntityLeft().isEmpty()) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 76e599962983c840e3db08f77e54a62b48999d43..ab59d6ed968ddcf33677447ee0584443a15d0c79 100644 +index 966d2ee872fe8e48930b54f2d29d29364d81f834..7ec1201fce2ab106032bb929acdecf07963ad175 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -349,6 +349,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0217-Config-to-disable-Enderman-teleport-on-projectile-hi.patch b/patches/server/0215-Config-to-disable-Enderman-teleport-on-projectile-hi.patch similarity index 92% rename from patches/server/0217-Config-to-disable-Enderman-teleport-on-projectile-hi.patch rename to patches/server/0215-Config-to-disable-Enderman-teleport-on-projectile-hi.patch index a41e21eb4..1349e15e1 100644 --- a/patches/server/0217-Config-to-disable-Enderman-teleport-on-projectile-hi.patch +++ b/patches/server/0215-Config-to-disable-Enderman-teleport-on-projectile-hi.patch @@ -18,10 +18,10 @@ index fd06b697b810e4e74345c636cb3a02bc23959e76..2439af153aa2d6ae62bca41a794042fc boolean flag; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ab59d6ed968ddcf33677447ee0584443a15d0c79..998eba4c1cdf65efbd0926351908c9897bc0ae01 100644 +index 7ec1201fce2ab106032bb929acdecf07963ad175..e229f1ce7e8d8466bfd7a0bcb277d4b49a5d6fc9 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1286,6 +1286,7 @@ public class PurpurWorldConfig { +@@ -1255,6 +1255,7 @@ public class PurpurWorldConfig { public boolean endermanAggroEndermitesOnlyIfPlayerSpawned = false; public boolean endermanIgnorePlayerDragonHead = false; public boolean endermanDisableStareAggro = false; @@ -29,7 +29,7 @@ index ab59d6ed968ddcf33677447ee0584443a15d0c79..998eba4c1cdf65efbd0926351908c989 private void endermanSettings() { endermanRidable = getBoolean("mobs.enderman.ridable", endermanRidable); endermanRidableInWater = getBoolean("mobs.enderman.ridable-in-water", endermanRidableInWater); -@@ -1307,6 +1308,7 @@ public class PurpurWorldConfig { +@@ -1276,6 +1277,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/0218-Add-compass-command.patch b/patches/server/0216-Add-compass-command.patch similarity index 97% rename from patches/server/0218-Add-compass-command.patch rename to patches/server/0216-Add-compass-command.patch index ca005fa5a..45f4ebc46 100644 --- a/patches/server/0218-Add-compass-command.patch +++ b/patches/server/0216-Add-compass-command.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add compass command diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 99e94cbb4696164fc686cea739594eecc345e616..508623c5042e752a99e0ed09406fcc368fa66f8e 100644 +index 04aa3a9d98ff4de3ce0bbacb07dc30170ff232b1..d81e3073d0e905388e1390d849f779902fadbad2 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -210,6 +210,7 @@ public class Commands { @@ -17,7 +17,7 @@ index 99e94cbb4696164fc686cea739594eecc345e616..508623c5042e752a99e0ed09406fcc36 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 b609213894c5c9c34188e0667e34b61876ea92ce..d2cbc3ec9cfebc7576caf25606f4dbf30698310c 100644 +index 7bbe7349bbc3a5eaccdecf57bc7334d5dcfdfe2b..dc93e2a4db920350da4a723836807372ec2cf042 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -257,6 +257,7 @@ public class ServerPlayer extends Player { @@ -81,7 +81,7 @@ index 9d541c9e53f3f8db871f01f8d083e4cfc0de0de1..49e86b191397b49480684e7d99a515e9 CompoundTag compoundTag = stack.getOrCreateTag(); if (compoundTag.contains("LodestoneTracked") && !compoundTag.getBoolean("LodestoneTracked")) { diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index b149e8cebf42a08e2e786f8bc06fc8b4387c991d..7ffbb3e4cdae80c99f0a979a7e00b2f6fe5ac189 100644 +index 049bf902e8e77d7eac8dc868593c215bf04838a9..2b90f0aa67e3ed19e29c5ec72cf8947391bffdb7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -252,6 +252,11 @@ public class PurpurConfig { @@ -111,7 +111,7 @@ index b149e8cebf42a08e2e786f8bc06fc8b4387c991d..7ffbb3e4cdae80c99f0a979a7e00b2f6 hideHiddenPlayersFromEntitySelector = getBoolean("settings.command.hide-hidden-players-from-entity-selector", hideHiddenPlayersFromEntitySelector); uptimeFormat = getString("settings.command.uptime.format", uptimeFormat); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 998eba4c1cdf65efbd0926351908c9897bc0ae01..97cb7b68186b1379efce1d855adc4d4be1dadfe4 100644 +index e229f1ce7e8d8466bfd7a0bcb277d4b49a5d6fc9..154a35886ee07be1f7ab174028ffa7680dde4ef0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -176,6 +176,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0219-Config-to-prevent-horses-from-standing-with-riders.patch b/patches/server/0217-Config-to-prevent-horses-from-standing-with-riders.patch similarity index 91% rename from patches/server/0219-Config-to-prevent-horses-from-standing-with-riders.patch rename to patches/server/0217-Config-to-prevent-horses-from-standing-with-riders.patch index b26f1da31..8502333f4 100644 --- a/patches/server/0219-Config-to-prevent-horses-from-standing-with-riders.patch +++ b/patches/server/0217-Config-to-prevent-horses-from-standing-with-riders.patch @@ -20,10 +20,10 @@ index 0be0c81f2b0a58eba75eb8559f78d8a58014d0ae..f7088aaf65ee5725e928845a63485211 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 97cb7b68186b1379efce1d855adc4d4be1dadfe4..42a9f68ffc4f9a6d55266b935b93de2c68a01e66 100644 +index 154a35886ee07be1f7ab174028ffa7680dde4ef0..ec355e570e86dd2ebdfffec2ca4842aae38c2b29 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1484,6 +1484,7 @@ public class PurpurWorldConfig { +@@ -1453,6 +1453,7 @@ public class PurpurWorldConfig { public double horseMovementSpeedMax = 0.3375D; public int horseBreedingTicks = 6000; public boolean horseTakeDamageFromWater = false; @@ -31,7 +31,7 @@ index 97cb7b68186b1379efce1d855adc4d4be1dadfe4..42a9f68ffc4f9a6d55266b935b93de2c private void horseSettings() { horseRidableInWater = getBoolean("mobs.horse.ridable-in-water", horseRidableInWater); if (PurpurConfig.version < 10) { -@@ -1501,6 +1502,7 @@ public class PurpurWorldConfig { +@@ -1470,6 +1471,7 @@ public class PurpurWorldConfig { horseMovementSpeedMax = getDouble("mobs.horse.attributes.movement_speed.max", horseMovementSpeedMax); horseBreedingTicks = getInt("mobs.horse.breeding-delay-ticks", horseBreedingTicks); horseTakeDamageFromWater = getBoolean("mobs.horse.takes-damage-from-water", horseTakeDamageFromWater); diff --git a/patches/server/0220-Toggle-for-kinetic-damage.patch b/patches/server/0218-Toggle-for-kinetic-damage.patch similarity index 96% rename from patches/server/0220-Toggle-for-kinetic-damage.patch rename to patches/server/0218-Toggle-for-kinetic-damage.patch index ce45d239f..720a5f55f 100644 --- a/patches/server/0220-Toggle-for-kinetic-damage.patch +++ b/patches/server/0218-Toggle-for-kinetic-damage.patch @@ -22,7 +22,7 @@ index cbda521957675303270c3308819c544fee549c18..42463d6823b4f045af22665fd5e4685e } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 42a9f68ffc4f9a6d55266b935b93de2c68a01e66..6f63f25885fd22c71aa8f3e307b7d04fac40c2d4 100644 +index ec355e570e86dd2ebdfffec2ca4842aae38c2b29..ef8d6fb33bbcdc531dfd6ce45e2381116c9c2123 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -138,12 +138,14 @@ public class PurpurWorldConfig { diff --git a/patches/server/0221-Add-Option-for-disable-observer-clocks.patch b/patches/server/0219-Add-Option-for-disable-observer-clocks.patch similarity index 95% rename from patches/server/0221-Add-Option-for-disable-observer-clocks.patch rename to patches/server/0219-Add-Option-for-disable-observer-clocks.patch index 2aa84fe02..6ecce158c 100644 --- a/patches/server/0221-Add-Option-for-disable-observer-clocks.patch +++ b/patches/server/0219-Add-Option-for-disable-observer-clocks.patch @@ -18,7 +18,7 @@ index 4a34a08a1d46e4d3020644a51d9e30a36a18791a..be28b5aba28383058548cfb68f982664 } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 6f63f25885fd22c71aa8f3e307b7d04fac40c2d4..c2b7c09adf13ae555361770c01fa1fc84a0c1dc5 100644 +index ef8d6fb33bbcdc531dfd6ce45e2381116c9c2123..354468e045811c8ff3e9cc8d64b7ee799863ac79 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -321,6 +321,11 @@ public class PurpurWorldConfig { diff --git a/patches/server/0222-Customizeable-Zombie-Villager-curing-times.patch b/patches/server/0220-Customizeable-Zombie-Villager-curing-times.patch similarity index 92% rename from patches/server/0222-Customizeable-Zombie-Villager-curing-times.patch rename to patches/server/0220-Customizeable-Zombie-Villager-curing-times.patch index 7e7556b76..4da82e143 100644 --- a/patches/server/0222-Customizeable-Zombie-Villager-curing-times.patch +++ b/patches/server/0220-Customizeable-Zombie-Villager-curing-times.patch @@ -18,10 +18,10 @@ index 96e5d1210e27b0bca7a354366e5c805709ae4fec..c6ba41c2b4cc96bc97ed2e2220c0f3fa this.gameEvent(GameEvent.MOB_INTERACT, this.eyeBlockPosition()); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index c2b7c09adf13ae555361770c01fa1fc84a0c1dc5..b010ad0acb2a54d91c666068b275650135e44410 100644 +index 354468e045811c8ff3e9cc8d64b7ee799863ac79..079c75d8d5c6db1d8abe02aabc98b64dd718792c 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2545,6 +2545,8 @@ public class PurpurWorldConfig { +@@ -2514,6 +2514,8 @@ public class PurpurWorldConfig { public double zombieVillagerJockeyChance = 0.05D; public boolean zombieVillagerJockeyTryExistingChickens = true; public boolean zombieVillagerTakeDamageFromWater = false; @@ -30,7 +30,7 @@ index c2b7c09adf13ae555361770c01fa1fc84a0c1dc5..b010ad0acb2a54d91c666068b2756501 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2559,6 +2561,8 @@ public class PurpurWorldConfig { +@@ -2528,6 +2530,8 @@ public class PurpurWorldConfig { zombieVillagerJockeyChance = getDouble("mobs.zombie_villager.jockey.chance", zombieVillagerJockeyChance); zombieVillagerJockeyTryExistingChickens = getBoolean("mobs.zombie_villager.jockey.try-existing-chickens", zombieVillagerJockeyTryExistingChickens); zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater); diff --git a/patches/server/0223-Option-for-sponges-to-work-on-lava.patch b/patches/server/0221-Option-for-sponges-to-work-on-lava.patch similarity index 93% rename from patches/server/0223-Option-for-sponges-to-work-on-lava.patch rename to patches/server/0221-Option-for-sponges-to-work-on-lava.patch index c9c4ab2dd..cee963555 100644 --- a/patches/server/0223-Option-for-sponges-to-work-on-lava.patch +++ b/patches/server/0221-Option-for-sponges-to-work-on-lava.patch @@ -18,10 +18,10 @@ index 97b4e3c0d2b1bbde77b135b8595c3bfa190a14cb..02b98cfe47d5d2f3c362a84c6b05e734 ++i; if (j < world.purpurConfig.spongeAbsorptionRadius) { // Purpur diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index b010ad0acb2a54d91c666068b275650135e44410..aacdc7b7bec37bf319af6f068f5343c3f3e10291 100644 +index 079c75d8d5c6db1d8abe02aabc98b64dd718792c..a975e29b58d669129aa86a4b78fb8bbd8f8b6950 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -924,9 +924,11 @@ public class PurpurWorldConfig { +@@ -912,9 +912,11 @@ public class PurpurWorldConfig { public int spongeAbsorptionArea = 64; public int spongeAbsorptionRadius = 6; diff --git a/patches/server/0224-Toggle-for-Wither-s-spawn-sound.patch b/patches/server/0222-Toggle-for-Wither-s-spawn-sound.patch similarity index 92% rename from patches/server/0224-Toggle-for-Wither-s-spawn-sound.patch rename to patches/server/0222-Toggle-for-Wither-s-spawn-sound.patch index 578011e12..8f62b4efc 100644 --- a/patches/server/0224-Toggle-for-Wither-s-spawn-sound.patch +++ b/patches/server/0222-Toggle-for-Wither-s-spawn-sound.patch @@ -18,10 +18,10 @@ index 46b8886b6b17fa145db42aeb380f22ec0ae99ec0..1cab4c037c99babf4e35480de7ffc02b // this.world.globalLevelEvent(1023, new BlockPosition(this), 0); //int viewDistance = ((ServerLevel) this.level).getCraftServer().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/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index aacdc7b7bec37bf319af6f068f5343c3f3e10291..db2071fdd068c00a81be179290b5b970ceaf3386 100644 +index a975e29b58d669129aa86a4b78fb8bbd8f8b6950..35bf7ac52af2124a920b788abc930f262b0b6bbc 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2400,6 +2400,7 @@ public class PurpurWorldConfig { +@@ -2369,6 +2369,7 @@ public class PurpurWorldConfig { public boolean witherTakeDamageFromWater = false; public boolean witherCanRideVehicles = false; public float witherExplosionRadius = 1.0F; @@ -29,7 +29,7 @@ index aacdc7b7bec37bf319af6f068f5343c3f3e10291..db2071fdd068c00a81be179290b5b970 private void witherSettings() { witherRidable = getBoolean("mobs.wither.ridable", witherRidable); witherRidableInWater = getBoolean("mobs.wither.ridable-in-water", witherRidableInWater); -@@ -2420,6 +2421,7 @@ public class PurpurWorldConfig { +@@ -2389,6 +2390,7 @@ public class PurpurWorldConfig { witherTakeDamageFromWater = getBoolean("mobs.wither.takes-damage-from-water", witherTakeDamageFromWater); witherCanRideVehicles = getBoolean("mobs.wither.can-ride-vehicles", witherCanRideVehicles); witherExplosionRadius = (float) getDouble("mobs.wither.explosion-radius", witherExplosionRadius); diff --git a/patches/server/0225-Cactus-breaks-from-solid-neighbors-config.patch b/patches/server/0223-Cactus-breaks-from-solid-neighbors-config.patch similarity index 85% rename from patches/server/0225-Cactus-breaks-from-solid-neighbors-config.patch rename to patches/server/0223-Cactus-breaks-from-solid-neighbors-config.patch index b2f832330..80d633ccc 100644 --- a/patches/server/0225-Cactus-breaks-from-solid-neighbors-config.patch +++ b/patches/server/0223-Cactus-breaks-from-solid-neighbors-config.patch @@ -18,7 +18,7 @@ index fa36ad3bb63764778aa7201d90e331e64292c7b4..dfa06b3c7323aeb12b1e234ca27c924a return false; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index db2071fdd068c00a81be179290b5b970ceaf3386..a0304c89411a1226457747eb1f142676367958dc 100644 +index 35bf7ac52af2124a920b788abc930f262b0b6bbc..67a5ccb48fbbf588d4cdb6914b5d91f80e9fb0ec 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -728,6 +728,11 @@ public class PurpurWorldConfig { @@ -30,6 +30,6 @@ index db2071fdd068c00a81be179290b5b970ceaf3386..a0304c89411a1226457747eb1f142676 + cactusBreaksFromSolidNeighbors = getBoolean("blocks.cactus.breaks-from-solid-neighbors", cactusBreaksFromSolidNeighbors); + } + - public double caveVinesGrowthModifier = 0.10D; - public int caveVinesMaxGrowthAge = 25; - private void caveVinesSettings() { + public boolean chestOpenWithBlockOnTop = false; + private void chestSettings() { + chestOpenWithBlockOnTop = getBoolean("blocks.chest.open-with-solid-block-on-top", chestOpenWithBlockOnTop); diff --git a/patches/server/0226-Config-to-remove-curse-of-binding-with-weakness.patch b/patches/server/0224-Config-to-remove-curse-of-binding-with-weakness.patch similarity index 96% rename from patches/server/0226-Config-to-remove-curse-of-binding-with-weakness.patch rename to patches/server/0224-Config-to-remove-curse-of-binding-with-weakness.patch index b3159c9b9..fcddf2190 100644 --- a/patches/server/0226-Config-to-remove-curse-of-binding-with-weakness.patch +++ b/patches/server/0224-Config-to-remove-curse-of-binding-with-weakness.patch @@ -26,7 +26,7 @@ index 111da6398bb561e58571e47743088ce80416234d..0a2c776b9b1da7d0d4481dd527e0068b @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a0304c89411a1226457747eb1f142676367958dc..2d81bb200943a2e11679babf680705374f81e7c3 100644 +index 67a5ccb48fbbf588d4cdb6914b5d91f80e9fb0ec..c199152ede194fadb4f38c496201492ec689b664 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -359,6 +359,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0227-Conduit-behavior-configuration.patch b/patches/server/0225-Conduit-behavior-configuration.patch similarity index 96% rename from patches/server/0227-Conduit-behavior-configuration.patch rename to patches/server/0225-Conduit-behavior-configuration.patch index 24cbd3379..281177f96 100644 --- a/patches/server/0227-Conduit-behavior-configuration.patch +++ b/patches/server/0225-Conduit-behavior-configuration.patch @@ -44,10 +44,10 @@ index 96b6e914441ee1faa059aa5ddcf77ffb74e76ae9..31af7d8111e73169d3e02aa52799a018 } CraftEventFactory.blockDamage = null; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 2d81bb200943a2e11679babf680705374f81e7c3..15810fe4ae2dda94d339352d6c263a3753cd274f 100644 +index c199152ede194fadb4f38c496201492ec689b664..121c97e38536dafcaa2dade7a6cd54459bda9be2 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2606,4 +2606,27 @@ public class PurpurWorldConfig { +@@ -2575,5 +2575,28 @@ public class PurpurWorldConfig { private void hungerSettings() { hungerStarvationDamage = (float) getDouble("hunger.starvation-damage", hungerStarvationDamage); } @@ -75,3 +75,4 @@ index 2d81bb200943a2e11679babf680705374f81e7c3..15810fe4ae2dda94d339352d6c263a37 + conduitBlocks = conduitBlockList.toArray(Block[]::new); + } } + diff --git a/patches/server/0228-Cauldron-fill-chances.patch b/patches/server/0226-Cauldron-fill-chances.patch similarity index 92% rename from patches/server/0228-Cauldron-fill-chances.patch rename to patches/server/0226-Cauldron-fill-chances.patch index 48fef5f87..85d00993b 100644 --- a/patches/server/0228-Cauldron-fill-chances.patch +++ b/patches/server/0226-Cauldron-fill-chances.patch @@ -18,10 +18,10 @@ index dbae4f3b56d0290c6d28b9beaaa3b459754d43e3..676184c48c3abd8e2fb9a04ae3e165dc @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 15810fe4ae2dda94d339352d6c263a3753cd274f..18099116b059c54922e103aa918b100288beb1f2 100644 +index 121c97e38536dafcaa2dade7a6cd54459bda9be2..ffec1ba86f2253e6591a83fba7f703dad69bb471 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2629,4 +2629,11 @@ public class PurpurWorldConfig { +@@ -2598,5 +2598,12 @@ public class PurpurWorldConfig { }); conduitBlocks = conduitBlockList.toArray(Block[]::new); } @@ -33,3 +33,4 @@ index 15810fe4ae2dda94d339352d6c263a3753cd274f..18099116b059c54922e103aa918b1002 + cauldronPowderSnowChance = (float) getDouble("blocks.cauldron.fill-chances.powder-snow", cauldronPowderSnowChance); + } } + diff --git a/patches/server/0229-Config-to-allow-mobs-to-pathfind-over-rails.patch b/patches/server/0227-Config-to-allow-mobs-to-pathfind-over-rails.patch similarity index 96% rename from patches/server/0229-Config-to-allow-mobs-to-pathfind-over-rails.patch rename to patches/server/0227-Config-to-allow-mobs-to-pathfind-over-rails.patch index b36614b88..2124fef91 100644 --- a/patches/server/0229-Config-to-allow-mobs-to-pathfind-over-rails.patch +++ b/patches/server/0227-Config-to-allow-mobs-to-pathfind-over-rails.patch @@ -18,7 +18,7 @@ index ce891b7d8e5cbc956c28b8bb8c5c9976b7377039..8ecc9099515e38bfe38a5f9ca034cd81 if (node != null && (node.type == BlockPathTypes.OPEN || node.type == BlockPathTypes.WALKABLE) && this.mob.getBbWidth() < 1.0F) { double g = (double)(x - direction.getStepX()) + 0.5D; diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 18099116b059c54922e103aa918b100288beb1f2..187de951768274826a1e42611a559aa1face952d 100644 +index ffec1ba86f2253e6591a83fba7f703dad69bb471..29ff256b2c24d76a33a1a6bf0a85f514c0fb206a 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -654,6 +654,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0230-Add-force-and-prompt-parameters-to-resource-pack-api.patch b/patches/server/0228-Add-force-and-prompt-parameters-to-resource-pack-api.patch similarity index 92% rename from patches/server/0230-Add-force-and-prompt-parameters-to-resource-pack-api.patch rename to patches/server/0228-Add-force-and-prompt-parameters-to-resource-pack-api.patch index b98d347b0..c881e87a9 100644 --- a/patches/server/0230-Add-force-and-prompt-parameters-to-resource-pack-api.patch +++ b/patches/server/0228-Add-force-and-prompt-parameters-to-resource-pack-api.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add force and prompt parameters to resource pack api diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c1404be359c9f21bb7ae94b9cf69b6a01ba75392..544d2fee9835d6c7313ed1a1d085e4d73be63dd1 100644 +index 9879a38526648652d3c8362d7166bd0217385043..0fd434f4f2909fa03739a3a2b5c3dce5689c8a2c 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -27,6 +27,8 @@ import java.util.WeakHashMap; @@ -17,7 +17,7 @@ index c1404be359c9f21bb7ae94b9cf69b6a01ba75392..544d2fee9835d6c7313ed1a1d085e4d7 import net.minecraft.Util; import net.minecraft.advancements.AdvancementProgress; import net.minecraft.core.BlockPos; -@@ -1729,11 +1731,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1730,11 +1732,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setResourcePack(String url, byte[] hash) { diff --git a/patches/server/0231-Shulker-change-color-with-dye.patch b/patches/server/0229-Shulker-change-color-with-dye.patch similarity index 94% rename from patches/server/0231-Shulker-change-color-with-dye.patch rename to patches/server/0229-Shulker-change-color-with-dye.patch index 44eb5b515..837689545 100644 --- a/patches/server/0231-Shulker-change-color-with-dye.patch +++ b/patches/server/0229-Shulker-change-color-with-dye.patch @@ -47,10 +47,10 @@ index ec7c5f638573ee331112d91cdfaa8511801c6891..e9f4a1de40ab4d7a82d4f222b4aba0aa @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 187de951768274826a1e42611a559aa1face952d..f89ac855d5205752c6af462fa6dd58c4611c1559 100644 +index 29ff256b2c24d76a33a1a6bf0a85f514c0fb206a..f28712e077171c465cdcfd298e833732842831c4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2017,6 +2017,7 @@ public class PurpurWorldConfig { +@@ -1986,6 +1986,7 @@ public class PurpurWorldConfig { public double shulkerSpawnFromBulletNearbyRange = 8.0D; public String shulkerSpawnFromBulletNearbyEquation = "(nearby - 1) / 5.0"; public boolean shulkerSpawnFromBulletRandomColor = false; @@ -58,7 +58,7 @@ index 187de951768274826a1e42611a559aa1face952d..f89ac855d5205752c6af462fa6dd58c4 private void shulkerSettings() { shulkerRidable = getBoolean("mobs.shulker.ridable", shulkerRidable); shulkerRidableInWater = getBoolean("mobs.shulker.ridable-in-water", shulkerRidableInWater); -@@ -2032,6 +2033,7 @@ public class PurpurWorldConfig { +@@ -2001,6 +2002,7 @@ public class PurpurWorldConfig { shulkerSpawnFromBulletNearbyRange = getDouble("mobs.shulker.spawn-from-bullet.nearby-range", shulkerSpawnFromBulletNearbyRange); shulkerSpawnFromBulletNearbyEquation = getString("mobs.shulker.spawn-from-bullet.nearby-equation", shulkerSpawnFromBulletNearbyEquation); shulkerSpawnFromBulletRandomColor = getBoolean("mobs.shulker.spawn-from-bullet.random-color", shulkerSpawnFromBulletRandomColor); diff --git a/patches/server/0232-Extended-OfflinePlayer-API.patch b/patches/server/0230-Extended-OfflinePlayer-API.patch similarity index 98% rename from patches/server/0232-Extended-OfflinePlayer-API.patch rename to patches/server/0230-Extended-OfflinePlayer-API.patch index ad253f769..1848c6814 100644 --- a/patches/server/0232-Extended-OfflinePlayer-API.patch +++ b/patches/server/0230-Extended-OfflinePlayer-API.patch @@ -223,10 +223,10 @@ index 88bc0807e8bf66a65422f85f1112336334eb3de2..d0e822b329085b9d0a42276c3cacd6cb + // Purpur end - OfflinePlayer API } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 544d2fee9835d6c7313ed1a1d085e4d73be63dd1..dda9705e2deee15383ba0412f6e17077286308ce 100644 +index 0fd434f4f2909fa03739a3a2b5c3dce5689c8a2c..58c250e3b7606319f422e2d716de66d916ea4b9a 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1904,6 +1904,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1905,6 +1905,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.getHandle().getAbilities().walkingSpeed * 2f; } diff --git a/patches/server/0233-Added-the-ability-to-add-combustible-items.patch b/patches/server/0231-Added-the-ability-to-add-combustible-items.patch similarity index 97% rename from patches/server/0233-Added-the-ability-to-add-combustible-items.patch rename to patches/server/0231-Added-the-ability-to-add-combustible-items.patch index 52aac4f23..6c9b93128 100644 --- a/patches/server/0233-Added-the-ability-to-add-combustible-items.patch +++ b/patches/server/0231-Added-the-ability-to-add-combustible-items.patch @@ -51,7 +51,7 @@ index 600a71b8da335ddfc70f782cbbb08647ae98a89c..e7387a287ac84dcf8f39c547538432e5 private int maxStack = MAX_STACK; public List transaction = new java.util.ArrayList(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 6659d55234a18a8ddff7489565842d7019cd5701..266d662f10d76f4ad67b56c9eef72e9aa195ea88 100644 +index 52686415c7a37c14c16537d44f6b2c6420accb87..00a41213ee1c03fe1835dc8bc3b12ffe5c6bbafe 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1418,6 +1418,19 @@ public final class CraftServer implements Server { diff --git a/patches/server/0234-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch b/patches/server/0232-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch similarity index 94% rename from patches/server/0234-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch rename to patches/server/0232-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch index 1c1f630f7..613a723a8 100644 --- a/patches/server/0234-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch +++ b/patches/server/0232-Option-for-if-rain-and-thunder-should-stop-on-sleep.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Option for if rain and thunder should stop on sleep diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 593906beaeb9c9c30fe4e9a092b2494b248905ae..06c338cd7e931383718a9e3e83f29ce8467b11e5 100644 +index d2b88b33149f5fa6360396f65088abd6b8e0f8f7..cdc4fc0312303ec869f86bac00444a4ba0e277d8 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1103,6 +1103,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -25,7 +25,7 @@ index 593906beaeb9c9c30fe4e9a092b2494b248905ae..06c338cd7e931383718a9e3e83f29ce8 // CraftBukkit start // If we stop due to everyone sleeping we should reset the weather duration to some other random value. diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f89ac855d5205752c6af462fa6dd58c4611c1559..78f548b0ddfeaa472b13837bcb5331024a03d605 100644 +index f28712e077171c465cdcfd298e833732842831c4..fba7fdd89e1d51d41a24f0ad2d7828dcf5e8e871 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -655,6 +655,8 @@ public class PurpurWorldConfig { diff --git a/patches/server/0235-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch b/patches/server/0233-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch similarity index 97% rename from patches/server/0235-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch rename to patches/server/0233-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch index b2caf2a72..178073ed7 100644 --- a/patches/server/0235-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch +++ b/patches/server/0233-Chance-for-azalea-blocks-to-grow-into-trees-naturall.patch @@ -45,7 +45,7 @@ index 71e494b949541284b0642dae4b20a6b3ec459828..625ad12e43cc651c986a3b45ce9a7c5b public static final Block MOSS_BLOCK = register("moss_block", new MossBlock(BlockBehaviour.Properties.of(Material.MOSS, MaterialColor.COLOR_GREEN).strength(0.1F).sound(SoundType.MOSS))); public static final Block BIG_DRIPLEAF = register("big_dripleaf", new BigDripleafBlock(BlockBehaviour.Properties.of(Material.PLANT).strength(0.1F).sound(SoundType.BIG_DRIPLEAF))); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 78f548b0ddfeaa472b13837bcb5331024a03d605..64a00b41491814478746b1d759f818f3c7c1e456 100644 +index fba7fdd89e1d51d41a24f0ad2d7828dcf5e8e871..2055678b89ae64d90aabe9bbad85244d06a67b42 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -688,6 +688,11 @@ public class PurpurWorldConfig { @@ -60,7 +60,7 @@ index 78f548b0ddfeaa472b13837bcb5331024a03d605..64a00b41491814478746b1d759f818f3 public int beaconLevelOne = 20; public int beaconLevelTwo = 30; public int beaconLevelThree = 40; -@@ -824,6 +829,11 @@ public class PurpurWorldConfig { +@@ -817,6 +822,11 @@ public class PurpurWorldConfig { farmlandTramplingFeatherFalling = getBoolean("blocks.farmland.feather-fall-distance-affects-trampling", farmlandTramplingFeatherFalling); } diff --git a/patches/server/0236-Shift-right-click-to-use-exp-for-mending.patch b/patches/server/0234-Shift-right-click-to-use-exp-for-mending.patch similarity index 94% rename from patches/server/0236-Shift-right-click-to-use-exp-for-mending.patch rename to patches/server/0234-Shift-right-click-to-use-exp-for-mending.patch index b49b57f8d..c27d7b368 100644 --- a/patches/server/0236-Shift-right-click-to-use-exp-for-mending.patch +++ b/patches/server/0234-Shift-right-click-to-use-exp-for-mending.patch @@ -36,10 +36,10 @@ index ff159296b0d8acef3af74cd578b00a93fba08f36..ff025406e5755aa3654509bd98363f09 + // Purpur end } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index d372bb18c85665220d8156b21e743ec88bf29930..35c9fdce59a69453741379d660471ae1e3e50816 100644 +index 2380bab916cf628c928675229db0bbae76db92e2..57e62bc6a0cbad43822d389af6857531ed82963d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1875,6 +1875,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1941,6 +1941,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser boolean cancelled; if (movingobjectposition == null || movingobjectposition.getType() != HitResult.Type.BLOCK) { @@ -48,7 +48,7 @@ index d372bb18c85665220d8156b21e743ec88bf29930..35c9fdce59a69453741379d660471ae1 cancelled = event.useItemInHand() == Event.Result.DENY; } else { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 64a00b41491814478746b1d759f818f3c7c1e456..708823c9688c9d4b1121c10c28f24b21abd89656 100644 +index 2055678b89ae64d90aabe9bbad85244d06a67b42..c7af3ed3e63b29d4b832bcf5da17777dfef5c5d4 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -360,6 +360,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0237-Dolphins-naturally-aggressive-to-players-chance.patch b/patches/server/0235-Dolphins-naturally-aggressive-to-players-chance.patch similarity index 95% rename from patches/server/0237-Dolphins-naturally-aggressive-to-players-chance.patch rename to patches/server/0235-Dolphins-naturally-aggressive-to-players-chance.patch index 60fcc2add..97595dbfc 100644 --- a/patches/server/0237-Dolphins-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0235-Dolphins-naturally-aggressive-to-players-chance.patch @@ -47,10 +47,10 @@ index 49e5a753aae7d72102ee700f3d8309f2f488cc12..022441af276cd9facba1ee4013d9d367 public static AttributeSupplier.Builder createAttributes() { diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 708823c9688c9d4b1121c10c28f24b21abd89656..a51851aad7cfee98991c5e554e701fe51d6b6828 100644 +index c7af3ed3e63b29d4b832bcf5da17777dfef5c5d4..c6f4211f559ad11e3f20122ed5e296b0b5d60259 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1200,6 +1200,7 @@ public class PurpurWorldConfig { +@@ -1169,6 +1169,7 @@ public class PurpurWorldConfig { public double dolphinMaxHealth = 10.0D; public boolean dolphinDisableTreasureSearching = false; public boolean dolphinTakeDamageFromWater = false; @@ -58,7 +58,7 @@ index 708823c9688c9d4b1121c10c28f24b21abd89656..a51851aad7cfee98991c5e554e701fe5 private void dolphinSettings() { dolphinRidable = getBoolean("mobs.dolphin.ridable", dolphinRidable); dolphinSpitCooldown = getInt("mobs.dolphin.spit.cooldown", dolphinSpitCooldown); -@@ -1213,6 +1214,7 @@ public class PurpurWorldConfig { +@@ -1182,6 +1183,7 @@ public class PurpurWorldConfig { dolphinMaxHealth = getDouble("mobs.dolphin.attributes.max_health", dolphinMaxHealth); dolphinDisableTreasureSearching = getBoolean("mobs.dolphin.disable-treasure-searching", dolphinDisableTreasureSearching); dolphinTakeDamageFromWater = getBoolean("mobs.dolphin.takes-damage-from-water", dolphinTakeDamageFromWater); diff --git a/patches/server/0238-Cows-naturally-aggressive-to-players-chance.patch b/patches/server/0236-Cows-naturally-aggressive-to-players-chance.patch similarity index 96% rename from patches/server/0238-Cows-naturally-aggressive-to-players-chance.patch rename to patches/server/0236-Cows-naturally-aggressive-to-players-chance.patch index 6eb585fb5..cce78afd6 100644 --- a/patches/server/0238-Cows-naturally-aggressive-to-players-chance.patch +++ b/patches/server/0236-Cows-naturally-aggressive-to-players-chance.patch @@ -59,10 +59,10 @@ index 7042b95e92520c5e152af0fa71a553122ec814df..bbd210f8779138b225ce886b3917ca9c @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index a51851aad7cfee98991c5e554e701fe51d6b6828..ce1b9c19881709b0b2b5edb065251d4401241085 100644 +index c6f4211f559ad11e3f20122ed5e296b0b5d60259..40f3874e5326bfb6c967ef3ebb03a9d59f0af667 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1153,7 +1153,14 @@ public class PurpurWorldConfig { +@@ -1122,7 +1122,14 @@ public class PurpurWorldConfig { public int cowFeedMushrooms = 0; public int cowBreedingTicks = 6000; public boolean cowTakeDamageFromWater = false; @@ -77,7 +77,7 @@ index a51851aad7cfee98991c5e554e701fe51d6b6828..ce1b9c19881709b0b2b5edb065251d44 cowRidable = getBoolean("mobs.cow.ridable", cowRidable); cowRidableInWater = getBoolean("mobs.cow.ridable-in-water", cowRidableInWater); if (PurpurConfig.version < 10) { -@@ -1165,6 +1172,8 @@ public class PurpurWorldConfig { +@@ -1134,6 +1141,8 @@ public class PurpurWorldConfig { cowFeedMushrooms = getInt("mobs.cow.feed-mushrooms-for-mooshroom", cowFeedMushrooms); cowBreedingTicks = getInt("mobs.cow.breeding-delay-ticks", cowBreedingTicks); cowTakeDamageFromWater = getBoolean("mobs.cow.takes-damage-from-water", cowTakeDamageFromWater); diff --git a/patches/server/0239-Option-for-beds-to-explode-on-villager-sleep.patch b/patches/server/0237-Option-for-beds-to-explode-on-villager-sleep.patch similarity index 92% rename from patches/server/0239-Option-for-beds-to-explode-on-villager-sleep.patch rename to patches/server/0237-Option-for-beds-to-explode-on-villager-sleep.patch index 7e5525e68..5f9cfeccc 100644 --- a/patches/server/0239-Option-for-beds-to-explode-on-villager-sleep.patch +++ b/patches/server/0237-Option-for-beds-to-explode-on-villager-sleep.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Option for beds to explode on villager sleep diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index aceb5dff85779983473962cd8cb016811560d0a6..91ad382535b9ee4a734dae07a21e3ee1e3b91523 100644 +index fae4a7c79baac15a06b737b6081956a55b024c8d..e95210c6deee2c6431ef01d23953174465f199e0 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -1156,6 +1156,12 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -22,7 +22,7 @@ index aceb5dff85779983473962cd8cb016811560d0a6..91ad382535b9ee4a734dae07a21e3ee1 this.brain.setMemory(MemoryModuleType.LAST_SLEPT, this.level.getGameTime()); // CraftBukkit - decompile error this.brain.eraseMemory(MemoryModuleType.WALK_TARGET); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index ce1b9c19881709b0b2b5edb065251d4401241085..7ebdcb088b49785f47402adfd47b857caa135384 100644 +index 40f3874e5326bfb6c967ef3ebb03a9d59f0af667..509e64437a51067c40618d3d90f82a6981e55eb7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -707,11 +707,13 @@ public class PurpurWorldConfig { diff --git a/patches/server/0240-Halloween-options-and-optimizations.patch b/patches/server/0238-Halloween-options-and-optimizations.patch similarity index 96% rename from patches/server/0240-Halloween-options-and-optimizations.patch rename to patches/server/0238-Halloween-options-and-optimizations.patch index 48c90fb85..be20cbe2a 100644 --- a/patches/server/0240-Halloween-options-and-optimizations.patch +++ b/patches/server/0238-Halloween-options-and-optimizations.patch @@ -60,10 +60,10 @@ index 735ecd9d768b9e579142810d5f03093dafad0fa3..cb5a04aacf5e9f0f024f3a1c3a38dd88 this.armorDropChances[EquipmentSlot.HEAD.getIndex()] = 0.0F; } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 7ebdcb088b49785f47402adfd47b857caa135384..bde4cfd510b80df544f24d70982ff52b58c3e2e0 100644 +index 509e64437a51067c40618d3d90f82a6981e55eb7..dc82ccaf59c54191fda27ddd3d544f2351975095 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -1504,6 +1504,13 @@ public class PurpurWorldConfig { +@@ -1473,6 +1473,13 @@ public class PurpurWorldConfig { guardianTakeDamageFromWater = getBoolean("mobs.guardian.takes-damage-from-water", guardianTakeDamageFromWater); } diff --git a/patches/server/0241-Config-for-Grindstones-ignoring-curses.patch b/patches/server/0239-Config-for-Grindstones-ignoring-curses.patch similarity index 97% rename from patches/server/0241-Config-for-Grindstones-ignoring-curses.patch rename to patches/server/0239-Config-for-Grindstones-ignoring-curses.patch index 0836096e9..a83e44d07 100644 --- a/patches/server/0241-Config-for-Grindstones-ignoring-curses.patch +++ b/patches/server/0239-Config-for-Grindstones-ignoring-curses.patch @@ -36,7 +36,7 @@ index 0bdf874ddb951daf8d469575a44144504472d12d..66d1b438227e004d7ffb6e7c5d0cd3e6 EnchantmentHelper.setEnchantments(map, itemstack1); diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index 7ffbb3e4cdae80c99f0a979a7e00b2f6fe5ac189..f8af5ec109df029ce66fea7d888b8712855c107a 100644 +index 2b90f0aa67e3ed19e29c5ec72cf8947391bffdb7..b651a42f268e0636ccd86a7de9acfeb1cf3810f7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -306,6 +306,7 @@ public class PurpurConfig { diff --git a/patches/server/0242-UPnP-Port-Forwarding.patch b/patches/server/0240-UPnP-Port-Forwarding.patch similarity index 97% rename from patches/server/0242-UPnP-Port-Forwarding.patch rename to patches/server/0240-UPnP-Port-Forwarding.patch index 42811698a..57e8314f8 100644 --- a/patches/server/0242-UPnP-Port-Forwarding.patch +++ b/patches/server/0240-UPnP-Port-Forwarding.patch @@ -67,7 +67,7 @@ index cd859eec6b0bee44bce83614e55709381baf5e6b..9412a238aa3538bf958cf3b5ce2be5a9 // CraftBukkit start // this.setPlayerList(new DedicatedPlayerList(this, this.registryHolder, this.playerDataStorage)); // Spigot - moved up diff --git a/src/main/java/org/purpurmc/purpur/PurpurConfig.java b/src/main/java/org/purpurmc/purpur/PurpurConfig.java -index f8af5ec109df029ce66fea7d888b8712855c107a..a2f89f4051f62ed84ab3d5c8f3c1a9e7974108dd 100644 +index b651a42f268e0636ccd86a7de9acfeb1cf3810f7..141a46499eb2cba73a3f71fb50926bc08f37f9f0 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurConfig.java @@ -391,4 +391,9 @@ public class PurpurConfig { diff --git a/patches/server/0243-Campfire-option-for-lit-when-placed.patch b/patches/server/0241-Campfire-option-for-lit-when-placed.patch similarity index 89% rename from patches/server/0243-Campfire-option-for-lit-when-placed.patch rename to patches/server/0241-Campfire-option-for-lit-when-placed.patch index 72052e53b..5089c6739 100644 --- a/patches/server/0243-Campfire-option-for-lit-when-placed.patch +++ b/patches/server/0241-Campfire-option-for-lit-when-placed.patch @@ -18,11 +18,11 @@ index 0b60b545271e62df86a0eb3c1f0f315a014b24cd..44df9e5034887c756c00bdcfb3ea04d4 @Override diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index bde4cfd510b80df544f24d70982ff52b58c3e2e0..f8a55d9705b1ea5000bbfe96b50a6d5e900e4e62 100644 +index dc82ccaf59c54191fda27ddd3d544f2351975095..6cc99209520534ebbd78bcc98ea2b373b80ea788 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -982,6 +982,11 @@ public class PurpurWorldConfig { - weepingVinesMaxGrowthAge = getInt("blocks.weeping_vines.max-growth-age", weepingVinesMaxGrowthAge); +@@ -951,6 +951,11 @@ public class PurpurWorldConfig { + stonecutterDamage = (float) getDouble("blocks.stonecutter.damage", stonecutterDamage); } + public boolean campFireLitWhenPlaced = true; diff --git a/patches/server/0244-options-to-extinguish-fire-blocks-with-snowballs.patch b/patches/server/0242-options-to-extinguish-fire-blocks-with-snowballs.patch similarity index 98% rename from patches/server/0244-options-to-extinguish-fire-blocks-with-snowballs.patch rename to patches/server/0242-options-to-extinguish-fire-blocks-with-snowballs.patch index 88ae043d7..23d98626f 100644 --- a/patches/server/0244-options-to-extinguish-fire-blocks-with-snowballs.patch +++ b/patches/server/0242-options-to-extinguish-fire-blocks-with-snowballs.patch @@ -46,7 +46,7 @@ index d5d84893c77b4e60a19032d765d76bfd24cbbb2b..ef265cec066ef3b84c2b3a4929af5183 protected void onHit(HitResult hitResult) { super.onHit(hitResult); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index f8a55d9705b1ea5000bbfe96b50a6d5e900e4e62..88f722093ce3df084037169cea60f95906edeed2 100644 +index 6cc99209520534ebbd78bcc98ea2b373b80ea788..beb6a9d8ed40ab771c05ccf842065e4f4e85193e 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -179,6 +179,9 @@ public class PurpurWorldConfig { diff --git a/patches/server/0245-Add-option-to-disable-zombie-villagers-cure.patch b/patches/server/0243-Add-option-to-disable-zombie-villagers-cure.patch similarity index 92% rename from patches/server/0245-Add-option-to-disable-zombie-villagers-cure.patch rename to patches/server/0243-Add-option-to-disable-zombie-villagers-cure.patch index f6001d2e7..f1430fc24 100644 --- a/patches/server/0245-Add-option-to-disable-zombie-villagers-cure.patch +++ b/patches/server/0243-Add-option-to-disable-zombie-villagers-cure.patch @@ -18,10 +18,10 @@ index c6ba41c2b4cc96bc97ed2e2220c0f3fa4f31dbe3..22a5d2f0de4bdd4432d1beff840f448a itemstack.shrink(1); } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 88f722093ce3df084037169cea60f95906edeed2..5379c6418869373c6b52f6e835abcf297e6f2f56 100644 +index beb6a9d8ed40ab771c05ccf842065e4f4e85193e..1d0fd0c39a6083d119bf3a5a8a8fbb381bf520ee 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -2609,6 +2609,7 @@ public class PurpurWorldConfig { +@@ -2578,6 +2578,7 @@ public class PurpurWorldConfig { public boolean zombieVillagerTakeDamageFromWater = false; public int zombieVillagerCuringTimeMin = 3600; public int zombieVillagerCuringTimeMax = 6000; @@ -29,7 +29,7 @@ index 88f722093ce3df084037169cea60f95906edeed2..5379c6418869373c6b52f6e835abcf29 private void zombieVillagerSettings() { zombieVillagerRidable = getBoolean("mobs.zombie_villager.ridable", zombieVillagerRidable); zombieVillagerRidableInWater = getBoolean("mobs.zombie_villager.ridable-in-water", zombieVillagerRidableInWater); -@@ -2625,6 +2626,7 @@ public class PurpurWorldConfig { +@@ -2594,6 +2595,7 @@ public class PurpurWorldConfig { zombieVillagerTakeDamageFromWater = getBoolean("mobs.zombie_villager.takes-damage-from-water", zombieVillagerTakeDamageFromWater); zombieVillagerCuringTimeMin = getInt("mobs.zombie_villager.curing_time.min", zombieVillagerCuringTimeMin); zombieVillagerCuringTimeMax = getInt("mobs.zombie_villager.curing_time.max", zombieVillagerCuringTimeMax); diff --git a/patches/server/0246-Persistent-BlockEntity-Lore-and-DisplayName.patch b/patches/server/0244-Persistent-BlockEntity-Lore-and-DisplayName.patch similarity index 99% rename from patches/server/0246-Persistent-BlockEntity-Lore-and-DisplayName.patch rename to patches/server/0244-Persistent-BlockEntity-Lore-and-DisplayName.patch index 50f1b581f..0ae0c7c34 100644 --- a/patches/server/0246-Persistent-BlockEntity-Lore-and-DisplayName.patch +++ b/patches/server/0244-Persistent-BlockEntity-Lore-and-DisplayName.patch @@ -191,7 +191,7 @@ index 5601d0c2fe635a2a4f073c333531e1a8adf1833c..9e7d2fbdfa89736807d2025a5814ddd8 + // Purpur end } diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 5379c6418869373c6b52f6e835abcf297e6f2f56..64b1bedb055d5aa905ef1703b60097120b030d95 100644 +index 1d0fd0c39a6083d119bf3a5a8a8fbb381bf520ee..9745f27d0284aa086236455facd6591961b76770 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java @@ -654,6 +654,7 @@ public class PurpurWorldConfig { diff --git a/patches/server/0247-Signs-allow-color-codes.patch b/patches/server/0245-Signs-allow-color-codes.patch similarity index 92% rename from patches/server/0247-Signs-allow-color-codes.patch rename to patches/server/0245-Signs-allow-color-codes.patch index 5f8ed36ee..c1a35f8fd 100644 --- a/patches/server/0247-Signs-allow-color-codes.patch +++ b/patches/server/0245-Signs-allow-color-codes.patch @@ -5,7 +5,7 @@ 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 d2cbc3ec9cfebc7576caf25606f4dbf30698310c..c416d5257d3bff7ad76466525f3cecf6491f6af8 100644 +index dc93e2a4db920350da4a723836807372ec2cf042..cf2e1e4c9da9e695ffb5b9d658f36f9a3c304738 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1496,6 +1496,7 @@ public class ServerPlayer extends Player { @@ -17,10 +17,10 @@ index d2cbc3ec9cfebc7576caf25606f4dbf30698310c..c416d5257d3bff7ad76466525f3cecf6 this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos())); this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos())); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 35c9fdce59a69453741379d660471ae1e3e50816..8860409f94a7a6ed899f53649b204d343390938a 100644 +index 57e62bc6a0cbad43822d389af6857531ed82963d..f1629b07460f4135ada0f08ddbda97df463269f6 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3073,11 +3073,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3139,11 +3139,15 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } // Paper end @@ -70,10 +70,10 @@ index 6371176fba41218a209ea59b4cafe5b2d4a685fd..7666bca74f4f68bb4e902ec2eb7c4895 public CompoundTag getUpdateTag() { return this.saveWithoutMetadata(); diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -index 64b1bedb055d5aa905ef1703b60097120b030d95..d376a3dd429c4f26a7b0eba8daaa97fa9c089e7f 100644 +index 9745f27d0284aa086236455facd6591961b76770..d1a4c90e0a350b08478cc1f330cf00851ff012c7 100644 --- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java -@@ -938,8 +938,10 @@ public class PurpurWorldConfig { +@@ -926,8 +926,10 @@ public class PurpurWorldConfig { } public boolean signRightClickEdit = false; diff --git a/patches/server/0246-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch b/patches/server/0246-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch new file mode 100644 index 000000000..54418ab27 --- /dev/null +++ b/patches/server/0246-Kelp-weeping-and-twisting-vines-configurable-max-gro.patch @@ -0,0 +1,163 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: William Blake Galbreath +Date: Sun, 22 Nov 2020 20:13:27 -0600 +Subject: [PATCH] Kelp weeping and twisting vines configurable max growth age + + +diff --git a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java +index effee89e308c9a663938ac5b00a8c6512ce407c2..702f1b804df86e7df497ba65e0c51f05d3491860 100644 +--- a/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java ++++ b/src/main/java/net/minecraft/world/level/block/CaveVinesBlock.java +@@ -88,4 +88,11 @@ public class CaveVinesBlock extends GrowingPlantHeadBlock implements Bonemealabl + public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) { + world.setBlock(pos, (BlockState) state.setValue(CaveVinesBlock.BERRIES, true), 2); + } ++ ++ // Purpur start ++ @Override ++ public int getMaxGrowthAge(ServerLevel world) { ++ return world.purpurConfig.caveVinesMaxGrowthAge; ++ } ++ // Purpur end + } +diff --git a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java +index 8e642ff6d387e05f900acfc3cf6cfa5975bf69e4..c17bfbd26ad70010ca6c3553970b3fdbf704d1b7 100644 +--- a/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java ++++ b/src/main/java/net/minecraft/world/level/block/GrowingPlantHeadBlock.java +@@ -38,6 +38,8 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements + return (Integer) state.getValue(GrowingPlantHeadBlock.AGE) < 25; + } + ++ public abstract int getMaxGrowthAge(ServerLevel world); // Purpur ++ + @Override + public void randomTick(BlockState state, ServerLevel world, BlockPos pos, Random random) { + // Paper start +@@ -53,7 +55,7 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements + } else { + modifier = 100; // Above cases are exhaustive as of 1.18 + } +- if ((Integer) state.getValue(GrowingPlantHeadBlock.AGE) < 25 && random.nextDouble() < (modifier / 100.0D) * this.growPerTickProbability) { // Spigot // Paper - fix growth modifier having the reverse effect ++ if ((Integer) state.getValue(GrowingPlantHeadBlock.AGE) < getMaxGrowthAge(world) && random.nextDouble() < (modifier / 100.0D) * this.growPerTickProbability) { // Spigot // Paper - fix growth modifier having the reverse effect // Purpur + // Paper end + BlockPos blockposition1 = pos.relative(this.growthDirection); + +@@ -121,13 +123,13 @@ public abstract class GrowingPlantHeadBlock extends GrowingPlantBlock implements + @Override + public void performBonemeal(ServerLevel world, Random random, BlockPos pos, BlockState state) { + BlockPos blockposition1 = pos.relative(this.growthDirection); +- int i = Math.min((Integer) state.getValue(GrowingPlantHeadBlock.AGE) + 1, 25); ++ int i = Math.min((Integer) state.getValue(GrowingPlantHeadBlock.AGE) + 1, getMaxGrowthAge(world)); + int j = this.getBlocksToGrowWhenBonemealed(random); + + for (int k = 0; k < j && this.canGrowInto(world.getBlockState(blockposition1)); ++k) { + world.setBlockAndUpdate(blockposition1, (BlockState) state.setValue(GrowingPlantHeadBlock.AGE, i)); + blockposition1 = blockposition1.relative(this.growthDirection); +- i = Math.min(i + 1, 25); ++ i = Math.min(i + 1, getMaxGrowthAge(world)); + } + + } +diff --git a/src/main/java/net/minecraft/world/level/block/KelpBlock.java b/src/main/java/net/minecraft/world/level/block/KelpBlock.java +index 2bd5db55656c9ace95ad5ffdc4a6d07daa0948e4..9ddd25648c70ec1608609f4a63f4df53805c8732 100644 +--- a/src/main/java/net/minecraft/world/level/block/KelpBlock.java ++++ b/src/main/java/net/minecraft/world/level/block/KelpBlock.java +@@ -4,6 +4,7 @@ import java.util.Random; + import javax.annotation.Nullable; + import net.minecraft.core.BlockPos; + import net.minecraft.core.Direction; ++import net.minecraft.server.level.ServerLevel; + import net.minecraft.tags.FluidTags; + import net.minecraft.world.item.context.BlockPlaceContext; + import net.minecraft.world.level.BlockGetter; +@@ -64,4 +65,11 @@ public class KelpBlock extends GrowingPlantHeadBlock implements LiquidBlockConta + public FluidState getFluidState(BlockState state) { + return Fluids.WATER.getSource(false); + } ++ ++ // Purpur start ++ @Override ++ public int getMaxGrowthAge(ServerLevel world) { ++ return world.purpurConfig.kelpMaxGrowthAge; ++ } ++ // Purpur end + } +diff --git a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java +index bc9813ad36d95d90eafe51afa27857937b6eecc6..23f4663cb3760097b464ee310682bd6f1bfae580 100644 +--- a/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java ++++ b/src/main/java/net/minecraft/world/level/block/TwistingVinesBlock.java +@@ -2,6 +2,7 @@ package net.minecraft.world.level.block; + + import java.util.Random; + import net.minecraft.core.Direction; ++import net.minecraft.server.level.ServerLevel; + import net.minecraft.world.level.block.state.BlockBehaviour; + import net.minecraft.world.level.block.state.BlockState; + import net.minecraft.world.phys.shapes.VoxelShape; +@@ -27,4 +28,11 @@ public class TwistingVinesBlock extends GrowingPlantHeadBlock { + protected boolean canGrowInto(BlockState state) { + return NetherVines.isValidGrowthState(state); + } ++ ++ // Purpur start ++ @Override ++ public int getMaxGrowthAge(ServerLevel world) { ++ return world.purpurConfig.twistingVinesMaxGrowthAge; ++ } ++ // Purpur end + } +diff --git a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java +index 35b2bad76c45b5a94ba7f2e9c7a8cfeb8c3f498b..913818656f058990270ed1e4303da1c45bd70c8d 100644 +--- a/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java ++++ b/src/main/java/net/minecraft/world/level/block/WeepingVinesBlock.java +@@ -2,6 +2,7 @@ package net.minecraft.world.level.block; + + import java.util.Random; + import net.minecraft.core.Direction; ++import net.minecraft.server.level.ServerLevel; + import net.minecraft.world.level.block.state.BlockBehaviour; + import net.minecraft.world.level.block.state.BlockState; + import net.minecraft.world.phys.shapes.VoxelShape; +@@ -27,4 +28,11 @@ public class WeepingVinesBlock extends GrowingPlantHeadBlock { + protected boolean canGrowInto(BlockState state) { + return NetherVines.isValidGrowthState(state); + } ++ ++ // Purpur start ++ @Override ++ public int getMaxGrowthAge(ServerLevel world) { ++ return world.purpurConfig.weepingVinesMaxGrowthAge; ++ } ++ // Purpur end + } +diff --git a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +index d1a4c90e0a350b08478cc1f330cf00851ff012c7..9e12856a114567e2de59efbac29b4bec81bbeb53 100644 +--- a/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java ++++ b/src/main/java/org/purpurmc/purpur/PurpurWorldConfig.java +@@ -768,6 +768,26 @@ public class PurpurWorldConfig { + composterBulkProcess = getBoolean("blocks.composter.sneak-to-bulk-process", composterBulkProcess); + } + ++ public int caveVinesMaxGrowthAge = 25; ++ private void caveVinesSettings() { ++ caveVinesMaxGrowthAge = getInt("blocks.cave_vines.max-growth-age", caveVinesMaxGrowthAge); ++ } ++ ++ public int kelpMaxGrowthAge = 25; ++ private void kelpSettings() { ++ kelpMaxGrowthAge = getInt("blocks.kelp.max-growth-age", kelpMaxGrowthAge); ++ } ++ ++ public int twistingVinesMaxGrowthAge = 25; ++ private void twistingVinesSettings() { ++ twistingVinesMaxGrowthAge = getInt("blocks.twisting_vines.max-growth-age", twistingVinesMaxGrowthAge); ++ } ++ ++ public int weepingVinesMaxGrowthAge = 25; ++ private void weepingVinesSettings() { ++ weepingVinesMaxGrowthAge = getInt("blocks.weeping_vines.max-growth-age", weepingVinesMaxGrowthAge); ++ } ++ + public boolean dispenserApplyCursedArmor = true; + public boolean dispenserPlaceAnvils = false; + private void dispenserSettings() {