diff --git a/patches/api/0002-Purpur-config-files.patch b/patches/api/0002-Purpur-config-files.patch index 665dcaa68..fd9045d88 100644 --- a/patches/api/0002-Purpur-config-files.patch +++ b/patches/api/0002-Purpur-config-files.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Purpur config files diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index e88b47a838dc472ad64271a518ee1789f7be19fa..cdfbeda5ed988a3d03d4fc616904e5a2d32f793f 100644 +index f55ae8275c297c4c86215fba8d7197ffe9715879..0888165f2327bad2125d9cbe9b72e3282d44e072 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1606,6 +1606,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1614,6 +1614,18 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi } - // Paper end + // Tuinity end - add config to timings report + // Purpur start + @NotNull diff --git a/patches/api/0008-AFK-API.patch b/patches/api/0008-AFK-API.patch index 091b73eac..6f2ad3095 100644 --- a/patches/api/0008-AFK-API.patch +++ b/patches/api/0008-AFK-API.patch @@ -81,10 +81,10 @@ index 0000000000000000000000000000000000000000..0c8b3e5e4ba412624357ea5662a78862 + } +} diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index da83b4cbed0be6f693c7cbb1cc032356f12d7883..6f7af42646139789df1fe005949fdec29b4f47c9 100644 +index 51c334f68052f58fbb9c10fb9ed31ab42780ceac..13970eb20ed6bbc12720cf6c0b609e6cf2952933 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2126,4 +2126,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2166,4 +2166,25 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM @Override Spigot spigot(); // Spigot end diff --git a/patches/api/0009-Bring-back-server-name.patch b/patches/api/0009-Bring-back-server-name.patch index 23b478a37..389adc83a 100644 --- a/patches/api/0009-Bring-back-server-name.patch +++ b/patches/api/0009-Bring-back-server-name.patch @@ -25,10 +25,10 @@ index b5158151960db5c474b3aaa24bfa428e2a158fd9..d6fe8f2bd2e648b54f0ca6f5d49587d2 + // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index cdfbeda5ed988a3d03d4fc616904e5a2d32f793f..1794168c632d3814835f7f8b361ba69d59fd303c 100644 +index 0888165f2327bad2125d9cbe9b72e3282d44e072..eebaee3f3e01f39c0378cc89381eb97d95f31152 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1728,4 +1728,13 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1736,4 +1736,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 9098b4cfe..ba01ad296 100644 --- a/patches/api/0012-Lagging-threshold.patch +++ b/patches/api/0012-Lagging-threshold.patch @@ -24,10 +24,10 @@ index d6fe8f2bd2e648b54f0ca6f5d49587d2008eaf98..047b6b3d037ccdc9c83d8f46d5469884 // Purpur end } diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 1794168c632d3814835f7f8b361ba69d59fd303c..5ac834f0dc775d5877a7dd309cff549ec06310e9 100644 +index eebaee3f3e01f39c0378cc89381eb97d95f31152..f24d00951cd6951023f1ff34312ae0438107fc22 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java -@@ -1736,5 +1736,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi +@@ -1744,5 +1744,12 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi */ @NotNull String getServerName(); diff --git a/patches/api/0017-Player-invulnerabilities.patch b/patches/api/0017-Player-invulnerabilities.patch index c1541edf2..6195d067d 100644 --- a/patches/api/0017-Player-invulnerabilities.patch +++ b/patches/api/0017-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 6f7af42646139789df1fe005949fdec29b4f47c9..be55fb44fbfc0132c500c770013023a8097c7a53 100644 +index 13970eb20ed6bbc12720cf6c0b609e6cf2952933..4f9a182f777712b6d266b7c1acee541f85740085 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2146,5 +2146,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2186,5 +2186,26 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * Reset the idle timer back to 0 */ void resetIdleTimer(); diff --git a/patches/api/0031-Fix-javadoc-warnings-missing-param-and-return.patch b/patches/api/0031-Fix-javadoc-warnings-missing-param-and-return.patch index daa784f3a..ef0be9263 100644 --- a/patches/api/0031-Fix-javadoc-warnings-missing-param-and-return.patch +++ b/patches/api/0031-Fix-javadoc-warnings-missing-param-and-return.patch @@ -489,7 +489,7 @@ index 3afd5f5c0208a4ee93b5dbfc2aab2b9d2e8a7544..7838731e0e16bdccfb79e74ceb64148f /** diff --git a/src/main/java/org/bukkit/Server.java b/src/main/java/org/bukkit/Server.java -index 5ac834f0dc775d5877a7dd309cff549ec06310e9..31b776d35786a932eb912010778ff83b35244f6d 100644 +index f24d00951cd6951023f1ff34312ae0438107fc22..3ee71225eb67ec728b414a8cdc0570d48d5603e3 100644 --- a/src/main/java/org/bukkit/Server.java +++ b/src/main/java/org/bukkit/Server.java @@ -1579,6 +1579,9 @@ public interface Server extends PluginMessageRecipient, net.kyori.adventure.audi @@ -963,10 +963,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 be55fb44fbfc0132c500c770013023a8097c7a53..f1e5727e5ff8db2195d1f80a4938c1d9b05718cc 100644 +index 4f9a182f777712b6d266b7c1acee541f85740085..93d9e1b7b4ac9b9ccee7006375d5a96eaf9508ca 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1948,6 +1948,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1988,6 +1988,8 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM void resetCooldown(); /** @@ -975,7 +975,7 @@ index be55fb44fbfc0132c500c770013023a8097c7a53..f1e5727e5ff8db2195d1f80a4938c1d9 * @return the client option value of the player */ @NotNull -@@ -1987,6 +1989,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2027,6 +2029,9 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM // Paper end // Spigot start diff --git a/patches/api/0041-Flying-Fall-Damage-API.patch b/patches/api/0041-Flying-Fall-Damage-API.patch index 7815ecb17..6fabd5900 100644 --- a/patches/api/0041-Flying-Fall-Damage-API.patch +++ b/patches/api/0041-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 9f2bab23c0e11532816381e54591aa10b2b30d9b..b780666bbed552f61cac740fd1f775963a5bcd19 100644 +index 2c9860d7e55d254e3b201f4580ac400090ffe6e1..fd57b3ebadce95c9534fa532b7a5c6c57660bc3e 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -2172,5 +2172,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -2212,5 +2212,19 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM * @param invulnerableTicks Invulnerable ticks remaining */ void setSpawnInvulnerableTicks(int invulnerableTicks); diff --git a/patches/server/0001-Rebrand.patch b/patches/server/0001-Rebrand.patch index 905e90642..8df107ccf 100644 --- a/patches/server/0001-Rebrand.patch +++ b/patches/server/0001-Rebrand.patch @@ -5,15 +5,15 @@ Subject: [PATCH] Rebrand diff --git a/build.gradle.kts b/build.gradle.kts -index 39beb0331282b297f4f3857560d24ce6a616210d..89dbea40cfc1090331befa4c53985e23bc080325 100644 +index c2005f46b6cf2d7f80f65dc52f9ff7cd03d0419f..92ec24aefa42e4359391e549c8dcff313c44be71 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -30,8 +30,8 @@ repositories { } dependencies { -- implementation(project(":Paper-API")) -- implementation(project(":Paper-MojangAPI")) +- implementation(project(":Tuinity-API")) // Tuinity +- implementation("com.destroystokyo.paper:paper-mojangapi:1.16.5-R0.1-SNAPSHOT") // Tuinity + implementation(project(":Purpur-API")) // Purpur + implementation("io.papermc.paper:paper-mojangapi:1.17-R0.1-SNAPSHOT") // Purpur // Paper start @@ -31,20 +31,11 @@ index 39beb0331282b297f4f3857560d24ce6a616210d..89dbea40cfc1090331befa4c53985e23 attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", -- "Implementation-Version" to "git-Paper-$implementationVersion", +- "Implementation-Version" to "git-Tuinity-$implementationVersion", // Tuinity + "Implementation-Version" to "git-Purpur-$implementationVersion", // Purpur "Implementation-Vendor" to SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(Date()), // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -178,7 +179,7 @@ tasks.test { - fun TaskContainer.registerRunTask( - name: String, block: JavaExec.() -> Unit - ): TaskProvider = register(name) { -- group = "paper" -+ group = "paperweight" // Purpur - standardInput = System.`in` - workingDir = rootProject.layout.projectDirectory.dir( - providers.gradleProperty("runWorkDir").forUseAtConfigurationTime().orElse("run") diff --git a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java b/src/main/java/com/destroystokyo/paper/console/PaperConsole.java index e0b1f0671d16ddddcb6725acd25a1d1d69e42701..8c3c68465197fafc14849dc38a572e309931e2a2 100644 --- a/src/main/java/com/destroystokyo/paper/console/PaperConsole.java @@ -59,36 +50,36 @@ index e0b1f0671d16ddddcb6725acd25a1d1d69e42701..8c3c68465197fafc14849dc38a572e30 .completer(new ConsoleCommandCompleter(this.server)) .option(LineReader.Option.COMPLETE_IN_WORD, true); diff --git a/src/main/java/net/minecraft/server/Eula.java b/src/main/java/net/minecraft/server/Eula.java -index a1d5c0f8fe2adb2ee56f3217e089211ec7c61eb0..43a88bc58716eef4040584944f52893c5a47699f 100644 +index 3789df8ef9c0b4150c3baccf84dbaff57c0fb65a..43a88bc58716eef4040584944f52893c5a47699f 100644 --- a/src/main/java/net/minecraft/server/Eula.java +++ b/src/main/java/net/minecraft/server/Eula.java @@ -64,7 +64,7 @@ public class Eula { try { Properties properties = new Properties(); properties.setProperty("eula", "false"); -- properties.store(outputStream, "By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).\nYou also agree that tacos are tasty, and the best food in the world."); // Paper - fix lag; +- properties.store(outputStream, "By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula)."); // Paper - fix lag; // Tuinity - Tacos are disgusting + properties.store(outputStream, "By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).\nYou also agree that tacos are tasty, and the best food in the world."); // Paper - fix lag; // Tuinity - Tacos are disgusting // Purpur - no they're not } catch (Throwable var5) { if (outputStream != null) { try { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index a24bab6095b85fe208bb0f467b267a9d0680c6fc..4690a1c926dd695c98ac8012f271e1a71a0d3d6d 100644 +index 862a48eeb135e7734bafc560782f1bf92b18a020..986a2a05fae2a095b99b2ec330543cd0d2f49cde 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1649,7 +1649,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop // Spigot - Spigot > // CraftBukkit - cb > vanilla! +- return "Tuinity"; // Tuinity - Tuinity > //Paper - Paper > // Spigot - Spigot > // CraftBukkit - cb > vanilla! + return "Purpur"; // Purpur // Tuinity // Paper // Spigot // CraftBukkit } public SystemReport fillSystemReport(SystemReport systemreport) { diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 6a1fd7a983724d9e16e8aef06052108ba7ed46f1..c70d34e0359c3e1c3a3544622d1215affc4f1d5b 100644 +index 9bb0ff063da162f2b5c91d367d9555c1cf1a3ab1..0ed5e15d3175ee5d145730ff8f506ffb959e5e6c 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -@@ -280,11 +280,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface +@@ -281,11 +281,12 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface DedicatedServer.LOGGER.warn("**** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!"); DedicatedServer.LOGGER.warn("The server will make no attempt to authenticate usernames. Beware."); // Spigot start @@ -229,14 +220,14 @@ index 0000000000000000000000000000000000000000..cabfcebf9f944f7a2a2a1cffc7401435 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 0bcb3b4f156221521e4a2289196a7bee0767f494..84370d90593d9fa75bb4ed0bf02b84b22ea439e9 100644 +index 5ab5987b792eed633accbc272556086c98dc37ad..7461319b935189fae47ef24cebee0fc1e058315e 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -230,7 +230,7 @@ import javax.annotation.Nullable; // Paper import javax.annotation.Nonnull; // Paper public final class CraftServer implements Server { -- private final String serverName = "Paper"; // Paper +- private final String serverName = "Tuinity"; // Tuinity // Paper + private final String serverName = "Purpur"; // Paper // Tuinity // Purpur private final String serverVersion; private final String bukkitVersion = Versioning.getBukkitVersion(); @@ -255,14 +246,14 @@ index edf7e8d65d7f67f2f34490fdb766eca7d3b17aee..9239c4c948ddfc6f7ad8c5f277e35558 @Override diff --git a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java -index 774556a62eb240da42e84db4502e2ed43495be17..13b98439320ac1401a920c01d7cf5a4b3a23deff 100644 +index 001b1e5197eaa51bfff9031aa6c69876c9a47960..13b98439320ac1401a920c01d7cf5a4b3a23deff 100644 --- a/src/main/java/org/bukkit/craftbukkit/util/Versioning.java +++ b/src/main/java/org/bukkit/craftbukkit/util/Versioning.java @@ -11,7 +11,7 @@ public final class Versioning { public static String getBukkitVersion() { String result = "Unknown-Version"; -- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/io.papermc.paper/paper-api/pom.properties"); +- InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/com.tuinity/tuinity-api/pom.properties"); // Tuinity + InputStream stream = Bukkit.class.getClassLoader().getResourceAsStream("META-INF/maven/net.pl3x.purpur/purpur-api/pom.properties"); // Tuinity // Purpur Properties properties = new Properties(); diff --git a/patches/server/0002-Purpur-config-files.patch b/patches/server/0002-Purpur-config-files.patch index 07cd180ac..29e3072c6 100644 --- a/patches/server/0002-Purpur-config-files.patch +++ b/patches/server/0002-Purpur-config-files.patch @@ -5,14 +5,14 @@ Subject: [PATCH] Purpur config files diff --git a/src/main/java/com/destroystokyo/paper/Metrics.java b/src/main/java/com/destroystokyo/paper/Metrics.java -index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..4d8740678049aa749b42618470e9cc838555528d 100644 +index 3918b24c98faa5232c7ffd733ba8000562132785..4d8740678049aa749b42618470e9cc838555528d 100644 --- a/src/main/java/com/destroystokyo/paper/Metrics.java +++ b/src/main/java/com/destroystokyo/paper/Metrics.java @@ -593,7 +593,7 @@ public class Metrics { boolean logFailedRequests = config.getBoolean("logFailedRequests", false); // Only start Metrics, if it's enabled in the config if (config.getBoolean("enabled", true)) { -- Metrics metrics = new Metrics("Paper", serverUUID, logFailedRequests, Bukkit.getLogger()); +- Metrics metrics = new Metrics("Tuinity", serverUUID, logFailedRequests, Bukkit.getLogger()); // Tuinity - we have our own bstats page + Metrics metrics = new Metrics("Purpur", serverUUID, logFailedRequests, Bukkit.getLogger()); // Purpur metrics.addCustomChart(new Metrics.SimplePie("minecraft_version", () -> { @@ -22,7 +22,7 @@ index 218f5bafeed8551b55b91c7fccaf6935c8b631ca..4d8740678049aa749b42618470e9cc83 metrics.addCustomChart(new Metrics.SingleLineChart("players", () -> Bukkit.getOnlinePlayers().size())); - metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : "offline")); -- metrics.addCustomChart(new Metrics.SimplePie("paper_version", () -> (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown")); +- metrics.addCustomChart(new Metrics.SimplePie("tuinity_version", () -> (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown")); // Tuinity - we have our own bstats page + metrics.addCustomChart(new Metrics.SimplePie("online_mode", () -> Bukkit.getOnlineMode() ? "online" : (PaperConfig.isProxyOnlineMode() ? "bungee" : "offline"))); // Purpur + metrics.addCustomChart(new Metrics.SimplePie("purpur_version", () -> (Metrics.class.getPackage().getImplementationVersion() != null) ? Metrics.class.getPackage().getImplementationVersion() : "unknown")); // Purpur @@ -80,7 +80,7 @@ index 6a330170ec1ea9d06593a1bbd1bdb8d98c0904fb..f1ebfd810fd06e62d796110345aa36ce if (this.source.acceptsSuccess() && !this.silent) { this.source.sendMessage(message, Util.NIL_UUID); diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index c70d34e0359c3e1c3a3544622d1215affc4f1d5b..5627085c836f11182f0ffd40081aa1d206bcbc9c 100644 +index 0ed5e15d3175ee5d145730ff8f506ffb959e5e6c..6e67ea018cd6f362bba104f542c52438b455ccab 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -218,6 +218,15 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -100,10 +100,10 @@ index c70d34e0359c3e1c3a3544622d1215affc4f1d5b..5627085c836f11182f0ffd40081aa1d2 io.papermc.paper.brigadier.PaperBrigadierProviderImpl.INSTANCE.getClass(); // init PaperBrigadierProvider io.papermc.paper.util.StacktraceDeobfuscator.INSTANCE.getClass(); // load mappings for stacktrace deobf diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4fd030ef9537d9b31c6167d73349f4c4a6b33a15..d708e210dc605ce4dca845292532dd17db383b40 100644 +index ca7718053a6a2eb715ea3671bd4bc15304ede420..bf31ae9f1ea08d67e7e828cff07b30a315828b2f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3376,6 +3376,37 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -3565,6 +3565,37 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n return SlotAccess.NULL; } @@ -142,22 +142,22 @@ index 4fd030ef9537d9b31c6167d73349f4c4a6b33a15..d708e210dc605ce4dca845292532dd17 public void sendMessage(Component message, UUID sender) {} diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 1c171599dbde44389013dc08ca8263742d58d721..837b5ba4a0f3608edfb32812b4eab966f5a722ee 100644 +index 862553e98a7237d39a26036c615b9cbd001bd3bf..a2e9b3139ce8e2a9a1d294f47d77e153c51d2eb0 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -166,6 +166,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { - public final com.destroystokyo.paper.PaperWorldConfig paperConfig; // Paper - public final com.destroystokyo.paper.antixray.ChunkPacketBlockController chunkPacketBlockController; // Paper - Anti-Xray +@@ -168,6 +168,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { + + public final com.tuinity.tuinity.config.TuinityConfig.WorldConfig tuinityConfig; // Tuinity - Server Config + public final net.pl3x.purpur.PurpurWorldConfig purpurConfig; // Purpur + public final co.aikar.timings.WorldTimingsHandler timings; // Paper public static BlockPos lastPhysicsProblem; // Spigot private org.spigotmc.TickLimiter entityLimiter; -@@ -198,6 +200,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { - protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, final DimensionType dimensionmanager, Supplier supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - Anti-Xray - Pass executor +@@ -308,6 +310,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper + this.tuinityConfig = new com.tuinity.tuinity.config.TuinityConfig.WorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData)worlddatamutable).getLevelName()); // Tuinity - Server Config + this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName())); // Purpur this.generator = gen; this.world = new CraftWorld((ServerLevel) this, gen, env); @@ -435,26 +435,26 @@ index 0000000000000000000000000000000000000000..6e7f56fe2b78d7a09d5d130f2c88338f + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 84370d90593d9fa75bb4ed0bf02b84b22ea439e9..072d79be3e03d4563c6d67199f91e4fdcf4fcb17 100644 +index 7461319b935189fae47ef24cebee0fc1e058315e..4547dd9d4c1f9a35adf52c1cbbf23be9a9a23d68 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -875,6 +875,7 @@ public final class CraftServer implements Server { - +@@ -876,6 +876,7 @@ public final class CraftServer implements Server { org.spigotmc.SpigotConfig.init((File) console.options.valueOf("spigot-settings")); // Spigot com.destroystokyo.paper.PaperConfig.init((File) console.options.valueOf("paper-settings")); // Paper + com.tuinity.tuinity.config.TuinityConfig.init((File) console.options.valueOf("tuinity-settings")); // Tuinity - Server Config + net.pl3x.purpur.PurpurConfig.init((File) console.options.valueOf("purpur-settings")); // Purpur for (ServerLevel world : this.console.getAllLevels()) { world.serverLevelData.setDifficulty(config.difficulty); world.setSpawnSettings(config.spawnMonsters, config.spawnAnimals); -@@ -909,6 +910,7 @@ public final class CraftServer implements Server { - } +@@ -911,6 +912,7 @@ public final class CraftServer implements Server { world.spigotConfig.init(); // Spigot world.paperConfig.init(); // Paper + world.tuinityConfig.init(); // Tuinity - Server Config + world.purpurConfig.init(); // Purpur } Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper -@@ -924,6 +926,7 @@ public final class CraftServer implements Server { +@@ -926,6 +928,7 @@ public final class CraftServer implements Server { this.reloadData(); org.spigotmc.SpigotConfig.registerCommands(); // Spigot com.destroystokyo.paper.PaperConfig.registerCommands(); // Paper @@ -462,9 +462,9 @@ index 84370d90593d9fa75bb4ed0bf02b84b22ea439e9..072d79be3e03d4563c6d67199f91e4fd this.overrideAllCommandBlockCommands = this.commandsConfiguration.getStringList("command-block-overrides").contains("*"); this.ignoreVanillaPermissions = this.commandsConfiguration.getBoolean("ignore-vanilla-permissions"); -@@ -2364,6 +2367,18 @@ public final class CraftServer implements Server { - return com.destroystokyo.paper.PaperConfig.config; +@@ -2374,6 +2377,18 @@ public final class CraftServer implements Server { } + // Tuinity end - add config to timings report + // Purpur start + @Override @@ -482,12 +482,12 @@ index 84370d90593d9fa75bb4ed0bf02b84b22ea439e9..072d79be3e03d4563c6d67199f91e4fd public void restart() { org.spigotmc.RestartCommand.restart(); diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index 32f82c60b680180b256edff127e5a6ded42fccf4..5cb95340657bf37f9fbb2780f8cc57d2bc17e445 100644 +index 332c33c95cc450d76f512e58dd6d4b61ea2de431..01ff1a9757732872693b16cdb1bf386e0a6c1e73 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -147,6 +147,14 @@ public class Main { +@@ -154,6 +154,14 @@ public class Main { .describedAs("Yml file"); - // Paper end + // Tuinity end - Server Config + // Purpur Start + acceptsAll(asList("purpur", "purpur-settings"), "File for purpur settings") diff --git a/patches/server/0003-Ridables.patch b/patches/server/0003-Ridables.patch index e3fa3ee6b..e982548cd 100644 --- a/patches/server/0003-Ridables.patch +++ b/patches/server/0003-Ridables.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Ridables diff --git a/src/main/java/net/minecraft/core/BlockPos.java b/src/main/java/net/minecraft/core/BlockPos.java -index b70aa66732fb5e957aed0901f4c76358b2c56f8e..c281018818e5f27e23a155565eb2130fcd16a295 100644 +index 009febf8fccbfc9a638f018f921ebd9ec9068196..73e52022d27f59278b743c7765323f94a2c11d0e 100644 --- a/src/main/java/net/minecraft/core/BlockPos.java +++ b/src/main/java/net/minecraft/core/BlockPos.java @@ -41,6 +41,12 @@ public class BlockPos extends Vec3i { @@ -22,10 +22,10 @@ index b70aa66732fb5e957aed0901f4c76358b2c56f8e..c281018818e5f27e23a155565eb2130f super(x, y, z); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 4690a1c926dd695c98ac8012f271e1a71a0d3d6d..4aee3582f54a91191860108450a0a0dc573b535a 100644 +index 986a2a05fae2a095b99b2ec330543cd0d2f49cde..6ca331b3b5ed248c669e221079c798a85b752b68 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1530,6 +1530,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper @@ -34,10 +34,10 @@ index 4690a1c926dd695c98ac8012f271e1a71a0d3d6d..4aee3582f54a91191860108450a0a0dc 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 87b3eee23441717660aa6bb81248986cb7ef2fb4..76f72a8fe151cb9f4c5be38ec8f68790a3b9bfef 100644 +index a4546a80b0d1fde8c4f92fea575745b1352d95b0..004bdf930769974ed02c68b8939af8e96bad88a7 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -201,6 +201,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl +@@ -205,6 +205,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl public final UUID uuid; public boolean hasPhysicsEvent = true; // Paper public boolean hasEntityMoveEvent = false; // Paper @@ -46,7 +46,7 @@ index 87b3eee23441717660aa6bb81248986cb7ef2fb4..76f72a8fe151cb9f4c5be38ec8f68790 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 935b22199ebdf84db591f8442e0506d8fcc92e02..4ed4ca8e623784f12e2c7850e1c055f30a16e5ec 100644 +index 217af30c81438836864312e125cf512b491a3ab4..4935937ec8da9979b64e1445f74c38cc5f49eec1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -663,6 +663,15 @@ public class ServerPlayer extends Player { @@ -65,7 +65,7 @@ index 935b22199ebdf84db591f8442e0506d8fcc92e02..4ed4ca8e623784f12e2c7850e1c055f3 } public void doTick() { -@@ -2367,4 +2376,6 @@ public class ServerPlayer extends Player { +@@ -2379,4 +2388,6 @@ public class ServerPlayer extends Player { return (CraftPlayer) super.getBukkitEntity(); } // CraftBukkit end @@ -73,10 +73,10 @@ index 935b22199ebdf84db591f8442e0506d8fcc92e02..4ed4ca8e623784f12e2c7850e1c055f3 + } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8708eb173fbb17cf84a0c6d9a42623750472f650..cd571bf9cce0a1636142b0a8afa59afac4a40d5c 100644 +index 9dc5c82ea1d497174d288000f9f1ccaabbcb4a18..86159b0fcf33b70310f060962ab37cd6f05bf642 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2349,6 +2349,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2427,6 +2427,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -86,7 +86,7 @@ index 8708eb173fbb17cf84a0c6d9a42623750472f650..cd571bf9cce0a1636142b0a8afa59afa 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 d708e210dc605ce4dca845292532dd17db383b40..12f70017216f737dff2b7ee815290609babb38cc 100644 +index bf31ae9f1ea08d67e7e828cff07b30a315828b2f..f98f9e295a8e76a95e2afd24b1469a354fe614c5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -107,7 +107,7 @@ index d708e210dc605ce4dca845292532dd17db383b40..12f70017216f737dff2b7ee815290609 private float eyeHeight; public boolean isInPowderSnow; public boolean wasInPowderSnow; -@@ -2412,6 +2412,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -2601,6 +2601,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n this.passengers = ImmutableList.copyOf(list); } @@ -120,7 +120,7 @@ index d708e210dc605ce4dca845292532dd17db383b40..12f70017216f737dff2b7ee815290609 } return true; // CraftBukkit } -@@ -2452,6 +2458,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -2641,6 +2647,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n return false; } // Spigot end @@ -135,7 +135,7 @@ index d708e210dc605ce4dca845292532dd17db383b40..12f70017216f737dff2b7ee815290609 if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -@@ -4018,4 +4032,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -4211,4 +4225,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this); } // Paper end @@ -262,7 +262,7 @@ index 57c448ee93df76fc2a17c75fafc78408d720ced3..e918f7cc7fdfdeb1b7b69488eadf69f0 // Paper end if (!this.level.isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index c4c5c35e37b793f3b74349ff03c0829f4913b91c..75931cce0f430975fc54216f20e235833a74a72c 100644 +index 154b3c767d079f72643c826b962892c1029b0a1b..c35c5d58523be370732a19c52db4f8e94c88b12f 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -139,6 +139,8 @@ public abstract class Mob extends LivingEntity { @@ -274,7 +274,7 @@ index c4c5c35e37b793f3b74349ff03c0829f4913b91c..75931cce0f430975fc54216f20e23583 this.jumpControl = new JumpControl(this); this.bodyRotationControl = this.createBodyControl(); this.navigation = this.createNavigation(world); -@@ -1273,7 +1275,7 @@ public abstract class Mob extends LivingEntity { +@@ -1278,7 +1280,7 @@ public abstract class Mob extends LivingEntity { protected void onOffspringSpawnedFromEgg(Player player, Mob child) {} protected InteractionResult mobInteract(Player player, InteractionHand hand) { @@ -283,7 +283,7 @@ index c4c5c35e37b793f3b74349ff03c0829f4913b91c..75931cce0f430975fc54216f20e23583 } public boolean isWithinRestriction() { -@@ -1632,4 +1634,52 @@ public abstract class Mob extends LivingEntity { +@@ -1637,4 +1639,52 @@ public abstract class Mob extends LivingEntity { return itemmonsteregg == null ? null : new ItemStack(itemmonsteregg); } @@ -1895,7 +1895,7 @@ index 77f56978449ece43bdca28a50a0681cda9f89eba..4d5ceb4ce913248ad404393e4f0c75ca return "entity.minecraft.tropical_fish.predefined." + variant; } diff --git a/src/main/java/net/minecraft/world/entity/animal/Turtle.java b/src/main/java/net/minecraft/world/entity/animal/Turtle.java -index 925f16d5eb092518ef774f69a8d99689feb0f5d7..c86f13d190b41cb18dd833af39c7b4916068fd69 100644 +index 01d8af06f19427354cac95d691e65d31253fef94..631539a752a038926355c23aeb160af64f363a61 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Turtle.java +++ b/src/main/java/net/minecraft/world/entity/animal/Turtle.java @@ -90,6 +90,18 @@ public class Turtle extends Animal { @@ -1915,7 +1915,7 @@ index 925f16d5eb092518ef774f69a8d99689feb0f5d7..c86f13d190b41cb18dd833af39c7b491 + // Purpur end + public void setHomePos(BlockPos pos) { - this.entityData.set(Turtle.HOME_POS, pos); + this.entityData.set(Turtle.HOME_POS, pos.immutable()); // Paper - called with mutablepos... } @@ -192,6 +204,7 @@ public class Turtle extends Animal { @@ -4463,7 +4463,7 @@ index c4f7c94255e4631a3c0355f9260132ba28296f50..d6c31596e21041a124a263054ccb6447 this.setTradingPlayer(player); this.openTradingScreen(player, this.getDisplayName(), 1); 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 1bccd932851045c374e3092d33dc77fab680d0db..deaf12324f740b5523179adfd5b9a437d263cb28 100644 +index 069f658003d96a05aac0b30af1d89f15ea554475..5af2c68a328b5465ce487f312f0c50df3cb44aac 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -193,6 +193,19 @@ public abstract class Player extends LivingEntity { @@ -5709,10 +5709,10 @@ index 0000000000000000000000000000000000000000..8eefb7b7eb33aecf48ac206d3f0139e0 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 8246ad7ebecdfc0b7519fe4412fef7b07407e850..6b85ba7d9bad9f648b4a6cb5a3938509b3e73cca 100644 +index c0a508295d2e68d92ec8d24e14f9b7626911f548..edc08af4ec2ce6e90c30da286c0ba5ac16efd3fc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1207,4 +1207,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1216,4 +1216,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { return getHandle().isTicking(); } // Paper end diff --git a/patches/server/0005-Timings-stuff.patch b/patches/server/0005-Timings-stuff.patch index 0adc2d1c9..47dcac2a5 100644 --- a/patches/server/0005-Timings-stuff.patch +++ b/patches/server/0005-Timings-stuff.patch @@ -5,26 +5,27 @@ Subject: [PATCH] Timings stuff diff --git a/src/main/java/co/aikar/timings/TimingsExport.java b/src/main/java/co/aikar/timings/TimingsExport.java -index 2ff4d4921e2076abf415bd3c8f5173ecd6222168..279cf6a1f9ee6e5ed099eedbf68ee72a51cac621 100644 +index 9d920565ff65a84b1b9a2a4777fd8bc8f07e0153..33263af33b4355e5079fadfcfae77d038aebd2c4 100644 --- a/src/main/java/co/aikar/timings/TimingsExport.java +++ b/src/main/java/co/aikar/timings/TimingsExport.java -@@ -226,9 +226,13 @@ public class TimingsExport extends Thread { +@@ -226,10 +226,15 @@ public class TimingsExport extends Thread { // Information on the users Config parent.put("config", createObject( -- pair("spigot", mapAsJSON(Bukkit.spigot().getSpigotConfig(), null)), + // Purpur start + pair("server.properties", mapAsJSON(Bukkit.spigot().getServerProperties())), ++ pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)), + pair("spigot", mapAsJSON(Bukkit.spigot().getSpigotConfig(), null)), pair("bukkit", mapAsJSON(Bukkit.spigot().getBukkitConfig(), null)), -- pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null)) -+ pair("spigot", mapAsJSON(Bukkit.spigot().getSpigotConfig(), null)), -+ pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null)), + pair("paper", mapAsJSON(Bukkit.spigot().getPaperConfig(), null)), // Tuinity - add config to timings report +- pair("tuinity", mapAsJSON(Bukkit.spigot().getTuinityConfig(), null)) // Tuinity - add config to timings report ++ pair("tuinity", mapAsJSON(Bukkit.spigot().getTuinityConfig(), null)), // Tuinity - add config to timings report + pair("purpur", mapAsJSON(Bukkit.spigot().getPurpurConfig(), null)) + // Purpur end )); new TimingsExport(listeners, parent, history).start(); -@@ -269,6 +273,19 @@ public class TimingsExport extends Thread { +@@ -270,6 +275,19 @@ public class TimingsExport extends Thread { return timingsCost; } @@ -44,7 +45,7 @@ index 2ff4d4921e2076abf415bd3c8f5173ecd6222168..279cf6a1f9ee6e5ed099eedbf68ee72a private static JSONObject mapAsJSON(ConfigurationSection config, String parentKey) { JSONObject object = new JSONObject(); -@@ -305,7 +322,7 @@ public class TimingsExport extends Thread { +@@ -306,7 +324,7 @@ public class TimingsExport extends Thread { String response = null; String timingsURL = null; try { @@ -54,7 +55,7 @@ index 2ff4d4921e2076abf415bd3c8f5173ecd6222168..279cf6a1f9ee6e5ed099eedbf68ee72a String hostName = "BrokenHost"; try { diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index c90dda3d62dab896f68481000c0b6db1426bc461..358ce4bb952fbf50bf78a35f19b4c61e6f4d1afd 100644 +index bd0807e5647ad4745fa585bf7e6c853239cdd271..eadb1904d431f1820e0bc469361b4dbe18675d47 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -132,4 +132,10 @@ public class PurpurConfig { diff --git a/patches/server/0009-AFK-API.patch b/patches/server/0009-AFK-API.patch index 1be141cef..edba507d7 100644 --- a/patches/server/0009-AFK-API.patch +++ b/patches/server/0009-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 4ed4ca8e623784f12e2c7850e1c055f30a16e5ec..65e59e3bfc07e1ba6fadd7d83e0f5eb7a58fcf78 100644 +index 4935937ec8da9979b64e1445f74c38cc5f49eec1..bfdb9e8f1a7e82f0022e050598fee4e51e1222c2 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1915,8 +1915,58 @@ public class ServerPlayer extends Player { +@@ -1927,8 +1927,58 @@ public class ServerPlayer extends Player { public void resetLastActionTime() { this.lastActionTime = Util.getMillis(); @@ -68,7 +68,7 @@ index 4ed4ca8e623784f12e2c7850e1c055f30a16e5ec..65e59e3bfc07e1ba6fadd7d83e0f5eb7 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 359f8a37e625af463f898f72b8c30ff41f84c672..4473e5123568a35dd59b769a529f5670cf9bdc4a 100644 +index 86159b0fcf33b70310f060962ab37cd6f05bf642..af0c7bbce7641f5aa659abb440a6cd6f57019ede 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -391,6 +391,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -84,7 +84,7 @@ index 359f8a37e625af463f898f72b8c30ff41f84c672..4473e5123568a35dd59b769a529f5670 this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 this.disconnect(new TranslatableComponent("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } -@@ -649,6 +655,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -663,6 +669,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -93,16 +93,16 @@ index 359f8a37e625af463f898f72b8c30ff41f84c672..4473e5123568a35dd59b769a529f5670 // Skip the first time we do this if (true) { // Spigot - don't skip any move events Location oldTo = to.clone(); -@@ -1394,7 +1402,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1440,7 +1448,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; // Tuinity - 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); -@@ -1433,6 +1441,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1490,6 +1498,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.lastYaw = to.getYaw(); this.lastPitch = to.getPitch(); @@ -146,7 +146,7 @@ index a060cca08631fb42041e3a79a9abc422fe7757af..e7b11d1ba984ea14f0cdf8e84f9eaab4 private EntitySelector() {} // Paper start 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 deaf12324f740b5523179adfd5b9a437d263cb28..ff5ce25e4207ce6d87a553c340d79c14c5750c25 100644 +index 5af2c68a328b5465ce487f312f0c50df3cb44aac..e0544699714fd4c6ef2deb17f49b8246a7021463 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -196,6 +196,13 @@ public abstract class Player extends LivingEntity { @@ -164,10 +164,10 @@ index deaf12324f740b5523179adfd5b9a437d263cb28..ff5ce25e4207ce6d87a553c340d79c14 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 325e244c46ec208a2e7e18d71ccbbfcc25fc1bce..3645ebf52ad1461937ce6cc0cf38a92176627227 100644 +index 6a4e44dd8935018d1b5283761dfb8e855be62987..afe70b0d5bd98d05bbb7afc756108f09d35a5848 100644 --- a/src/main/java/net/minecraft/world/level/EntityGetter.java +++ b/src/main/java/net/minecraft/world/level/EntityGetter.java -@@ -145,7 +145,7 @@ public interface EntityGetter { +@@ -161,7 +161,7 @@ public interface EntityGetter { default boolean hasNearbyAlivePlayer(double x, double y, double z, double range) { for(Player player : this.players()) { @@ -177,7 +177,7 @@ index 325e244c46ec208a2e7e18d71ccbbfcc25fc1bce..3645ebf52ad1461937ce6cc0cf38a921 if (range < 0.0D || d < range * range) { return true; diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 7bb30fba98b5b217df72e6df5b2dc4e6082d1a6a..11ba89186ef47a574a4f959edaed550bcb6b908e 100644 +index 409948bf86d7b3a30106598cf9ee3cdff05b928d..3efc51e347ae0d5224eae4727867eaf1e83291b8 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -129,8 +129,16 @@ public class PurpurConfig { @@ -220,10 +220,10 @@ index c4fb8a14bf11df94acc7806f458e976c4e30e7c4..0a9024e766ed12b321008b3b19ce92d2 public boolean untamedTamablesAreRidable = true; public boolean useNightVisionWhenRiding = false; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 76e2ae09855e0efaaa0856d2f49e4968adbccbdc..38b7bc0399be51eec4c00e5ce1240d7468878aea 100644 +index fc8a8ccd4273ec5d44b216d96034ac048a2ac38e..e2d28ea4d8bb0df1a394afe7a48683b443989552 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2473,4 +2473,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2528,4 +2528,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end @@ -246,7 +246,7 @@ index 76e2ae09855e0efaaa0856d2f49e4968adbccbdc..38b7bc0399be51eec4c00e5ce1240d74 + // Purpur end } diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index a08583863f9fa08016bdfc7949a273eaa4429927..f36c97529edbd3642d0ba37887a232226f766a35 100644 +index 7361bf04de16d0526dc4cdbd0f564713df041d90..48ce9975b872c259dae1348148203fdbcb25e2ee 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/0010-Bring-back-server-name.patch b/patches/server/0010-Bring-back-server-name.patch index 9672fec80..8eba391f0 100644 --- a/patches/server/0010-Bring-back-server-name.patch +++ b/patches/server/0010-Bring-back-server-name.patch @@ -17,10 +17,10 @@ index c9d80a5430cc66d6189bf337770af43121a5bfd5..329336d413317388455fbbf03036cee1 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 337bd4b47eab7c8b1d23c9bdeb7324f074191790..7f4926f640736c52ed1dcfed57b3e4cbbb5b89a9 100644 +index 4547dd9d4c1f9a35adf52c1cbbf23be9a9a23d68..67dfc1239d50a3561f5e78aa18cd4b313f58ed03 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2533,4 +2533,11 @@ public final class CraftServer implements Server { +@@ -2543,4 +2543,11 @@ public final class CraftServer implements Server { } // Paper end diff --git a/patches/server/0011-Configurable-server-mod-name.patch b/patches/server/0011-Configurable-server-mod-name.patch index 3c5327618..641898cdb 100644 --- a/patches/server/0011-Configurable-server-mod-name.patch +++ b/patches/server/0011-Configurable-server-mod-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index ae939c81523a3982fc91fe4793ed0553503c501e..2034eaffd38d8ec1211e027f4fa349314f3c5fb5 100644 +index 6ca331b3b5ed248c669e221079c798a85b752b68..74fda35fa08d9d0915f724504ae1b79f51e02d2b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1650,7 +1650,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info -@@ -3010,6 +3026,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3088,6 +3104,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { @@ -56,7 +56,7 @@ index 5f54905841956b691bf83a4d980c24e0969e9456..5b5993c4687f4414c0b7e9bbd9a7d2fa if (this.keepAlivePending && packet.getId() == this.keepAliveChallenge) { int i = (int) (Util.getMillis() - this.keepAliveTime); diff --git a/src/main/java/net/pl3x/purpur/PurpurConfig.java b/src/main/java/net/pl3x/purpur/PurpurConfig.java -index 1b81e50a3c7dc33fa0ee6ce5b491597910dbe0cd..226bac7989ebca3ee403cf30bae25ed05c67f70f 100644 +index d474557f0f9a4bf54b87b596b24552b0b4b5bda5..b6683f3abba59e309c5731c2ae48e202b66dc5f0 100644 --- a/src/main/java/net/pl3x/purpur/PurpurConfig.java +++ b/src/main/java/net/pl3x/purpur/PurpurConfig.java @@ -157,6 +157,11 @@ public class PurpurConfig { diff --git a/patches/server/0025-Disable-outdated-build-check.patch b/patches/server/0025-Disable-outdated-build-check.patch index 8ba1d4f08..4a00806f4 100644 --- a/patches/server/0025-Disable-outdated-build-check.patch +++ b/patches/server/0025-Disable-outdated-build-check.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Disable outdated build check diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java -index b913ea98eb000edbab20d448da71a904570b48d6..47e436b079ad2f3c17348f730a29228d5feb3ce3 100644 +index 01ff1a9757732872693b16cdb1bf386e0a6c1e73..2ac68e87ae16622bf1828b3a1c71b6a13c52bea4 100644 --- a/src/main/java/org/bukkit/craftbukkit/Main.java +++ b/src/main/java/org/bukkit/craftbukkit/Main.java -@@ -269,7 +269,7 @@ public class Main { +@@ -276,7 +276,7 @@ public class Main { System.setProperty(TerminalConsoleAppender.JLINE_OVERRIDE_PROPERTY, "false"); // Paper } diff --git a/patches/server/0027-Zombie-horse-naturally-spawn.patch b/patches/server/0027-Zombie-horse-naturally-spawn.patch index 1e9d87819..bdb0a3faf 100644 --- a/patches/server/0027-Zombie-horse-naturally-spawn.patch +++ b/patches/server/0027-Zombie-horse-naturally-spawn.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Zombie horse naturally spawn diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index f0b9ff60b6122473bc2f87f56a6d190994079da6..14c3e9fcdfb088d3fe0a15266b50a7da82a5d240 100644 +index 004bdf930769974ed02c68b8939af8e96bad88a7..39402063a73fbdbefdbcd7b4f7ea675cafdfaa3a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -87,6 +87,7 @@ import net.minecraft.world.entity.ai.village.poi.PoiManager; @@ -16,7 +16,7 @@ index f0b9ff60b6122473bc2f87f56a6d190994079da6..14c3e9fcdfb088d3fe0a15266b50a7da import net.minecraft.world.entity.animal.horse.SkeletonHorse; import net.minecraft.world.entity.boss.EnderDragonPart; import net.minecraft.world.entity.boss.enderdragon.EnderDragon; -@@ -713,12 +714,18 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl +@@ -899,12 +900,18 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl boolean flag1 = this.getGameRules().getBoolean(GameRules.RULE_DOMOBSPAWNING) && this.random.nextDouble() < (double) difficultydamagescaler.getEffectiveDifficulty() * paperConfig.skeleHorseSpawnChance && !this.getBlockState(blockposition.below()).is(Blocks.LIGHTNING_ROD); // Paper if (flag1) { diff --git a/patches/server/0044-Signs-allow-color-codes.patch b/patches/server/0044-Signs-allow-color-codes.patch index 5ab1c2dea..e914455ba 100644 --- a/patches/server/0044-Signs-allow-color-codes.patch +++ b/patches/server/0044-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 609afae1bfdbeb82fb48bdbb0200427a67f1cd2a..ce9a348796a8c262e144c09d753cda2e28998fbf 100644 +index 9149f496c163834bf0e9c40086ba3ee9d38177c2..373a0e9cb219a9ec3236771a28ba522a9cc452c3 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1459,6 +1459,7 @@ public class ServerPlayer extends Player { @@ -17,10 +17,10 @@ index 609afae1bfdbeb82fb48bdbb0200427a67f1cd2a..ce9a348796a8c262e144c09d753cda2e 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 143fb89c6207c8c44ad8eb3da8129f825b73c624..461e80185d25529c367ede7df571fbff172f0384 100644 +index db8a8e81054e91161d43515fb19ab0106e9da1d0..857ec4fe7f0bc721cd8649062a14fa58331db3c0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3001,9 +3001,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3079,9 +3079,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } // Paper end if (this.player.isTextFilteringEnabled()) { diff --git a/patches/server/0045-Allow-soil-to-moisten-from-water-directly-under-it.patch b/patches/server/0045-Allow-soil-to-moisten-from-water-directly-under-it.patch index 3a6df017e..5e8ced438 100644 --- a/patches/server/0045-Allow-soil-to-moisten-from-water-directly-under-it.patch +++ b/patches/server/0045-Allow-soil-to-moisten-from-water-directly-under-it.patch @@ -5,36 +5,42 @@ Subject: [PATCH] Allow soil to moisten from water directly under it diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java -index aa1ba8b74ab70b6cede99e4853ac0203f388ab06..97e5cb4fd9f97c0bfa9d66c0ceac84e134f1053f 100644 +index a242a80b16c7d074d52a52728646224b1a0091d4..5d9d77cb382c8075af2713a0ce26c28a35a0aaa8 100644 --- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java -@@ -139,19 +139,14 @@ public class FarmBlock extends Block { +@@ -50,23 +50,6 @@ public class FarmBlock extends Block { + return super.updateShape(state, direction, neighborState, world, pos, neighborPos); } - private static boolean isNearWater(LevelReader world, BlockPos pos) { -- Iterator iterator = BlockPos.betweenClosed(pos.offset(-4, 0, -4), pos.offset(4, 1, 4)).iterator(); +- @Override +- public boolean canSurvive(BlockState state, LevelReader world, BlockPos pos) { +- BlockState iblockdata1 = world.getBlockState(pos.above()); - -- BlockPos blockposition1; +- return !iblockdata1.getMaterial().isSolid() || iblockdata1.getBlock() instanceof FenceGateBlock || iblockdata1.getBlock() instanceof MovingPistonBlock; +- } - -- do { -- if (!iterator.hasNext()) { -- return false; -+ // Purpur start -+ for (BlockPos position : BlockPos.betweenClosed(pos.offset(-4, 0, -4), pos.offset(4, 1, 4))) { -+ if (world.getFluidState(position).is(FluidTags.WATER)) { -+ return true; - } -- -- blockposition1 = (BlockPos) iterator.next(); -- } while (!world.getFluidState(blockposition1).is((Tag) FluidTags.WATER)); +- @Override +- public BlockState getStateForPlacement(BlockPlaceContext ctx) { +- return !this.defaultBlockState().canSurvive(ctx.getLevel(), ctx.getClickedPos()) ? Blocks.DIRT.defaultBlockState() : super.getStateForPlacement(ctx); +- } - +- @Override +- public boolean useShapeForLightOcclusion(BlockState state) { - return true; -+ } -+ return ((ServerLevel) world).purpurConfig.farmlandGetsMoistFromBelow && world.getFluidState(pos.relative(Direction.DOWN)).is(FluidTags.WATER); -+ // Purpur end +- } +- + @Override + public VoxelShape getShape(BlockState state, BlockGetter world, BlockPos pos, CollisionContext context) { + return FarmBlock.SHAPE; +@@ -159,7 +142,7 @@ public class FarmBlock extends Block { + } + } + +- return false; ++ return ((ServerLevel) world).purpurConfig.farmlandGetsMoistFromBelow && world.getFluidState(pos.relative(Direction.DOWN)).is(FluidTags.WATER); // Purpur + // Tuinity end - remove abstract block iteration } - @Override diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java index 9eda28fd9b10df4ae2f2df1b03b4321b203608bc..267f2efb10fb1603631efbb0b675a1525492f5aa 100644 --- a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/patches/server/0051-Fix-the-dead-lagging-the-server.patch b/patches/server/0051-Fix-the-dead-lagging-the-server.patch index 27ca11c2f..e29278053 100644 --- a/patches/server/0051-Fix-the-dead-lagging-the-server.patch +++ b/patches/server/0051-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 37ded5b8fb3692c773698a794d3977808308801d..af6d0fbd6faff5e570510037be16ed59debc3fdb 100644 +index f98f9e295a8e76a95e2afd24b1469a354fe614c5..f0abd7ab195e6cfc9ed5c87d4d8aa92abcb33cdb 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1549,6 +1549,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -1735,6 +1735,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n this.setXRot(Mth.clamp(pitch, -90.0F, 90.0F) % 360.0F); this.yRotO = this.getYRot(); this.xRotO = this.getXRot(); @@ -17,7 +17,7 @@ index 37ded5b8fb3692c773698a794d3977808308801d..af6d0fbd6faff5e570510037be16ed59 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 e284106d762735a7c203c19e3c5a06a6404b27b8..59988294eeba527ab28765ab2482e477802f5240 100644 +index 5b25fc620161053e1f3811dbdd7fac01491024fd..54bc16b6971259f6083ca530d4109909c86a3e1e 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2877,7 +2877,7 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0053-Add-permission-for-F3-N-debug.patch b/patches/server/0053-Add-permission-for-F3-N-debug.patch index e300db593..0b8fddd8f 100644 --- a/patches/server/0053-Add-permission-for-F3-N-debug.patch +++ b/patches/server/0053-Add-permission-for-F3-N-debug.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 6857abb1b741794d7eda507f738178eb998039f0..8a2568a6af89cf1d979bf8accf5d9c7bfdbfdec8 100644 +index 51ef325fab982c2fd8a7eb3d7e73cbfdf5b82734..e4b77d55350e93926eef9a7c521a074047542644 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1155,6 +1155,7 @@ public abstract class PlayerList { +@@ -1156,6 +1156,7 @@ public abstract class PlayerList { } else { b0 = (byte) (24 + i); } diff --git a/patches/server/0055-Configurable-TPS-Catchup.patch b/patches/server/0055-Configurable-TPS-Catchup.patch index 999f1dec8..5bfbe18a0 100644 --- a/patches/server/0055-Configurable-TPS-Catchup.patch +++ b/patches/server/0055-Configurable-TPS-Catchup.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable TPS Catchup diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 713ed9f0c789e0b0c2814dc03865c22cfc47d534..36d26af5b28e96cee930307b6d18edd7bfae8f23 100644 +index c49c10cac87065faef025e32babfb92c1bc1b43d..08789b178490acf8a6d14687e03760de983214e3 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1182,7 +1182,13 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= 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 59988294eeba527ab28765ab2482e477802f5240..fda3a3f8fd354aa6dcb0696f0381a6ddb9bdbeb6 100644 +index 54bc16b6971259f6083ca530d4109909c86a3e1e..b4640aa8fe8a37a6f27a626862b68b630bd370cd 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -2381,7 +2381,7 @@ public abstract class LivingEntity extends Entity { diff --git a/patches/server/0065-Add-canSaveToDisk-to-Entity.patch b/patches/server/0065-Add-canSaveToDisk-to-Entity.patch index a9afcfd48..110e9ac3e 100644 --- a/patches/server/0065-Add-canSaveToDisk-to-Entity.patch +++ b/patches/server/0065-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 9e65dc4306baa149669a82c1840f16cf1ce6d796..7b92f2ae2799af2713088e655da0716c10f52189 100644 +index 62a884b811b90d09ce1132bb26d03adcf4c56969..0961b33349ac09e182899d35b4af950babb83331 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4069,5 +4069,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -4262,5 +4262,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n public boolean processClick(InteractionHand hand) { return false; } diff --git a/patches/server/0066-Dispenser-curse-of-binding-protection.patch b/patches/server/0066-Dispenser-curse-of-binding-protection.patch index ab6aa3414..ead21c689 100644 --- a/patches/server/0066-Dispenser-curse-of-binding-protection.patch +++ b/patches/server/0066-Dispenser-curse-of-binding-protection.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Dispenser curse of binding protection diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 5bea46a548703871d1c6743746886a6071581e07..c7caa9531a761405d1793c90080bb8721626a7d2 100644 +index e07fbf6ba955a6c80ebf64db4d0f73f24f1aee9a..de3f7b0798d803e6d13a3c95aaaef3045ea22fed 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -62,6 +62,7 @@ import net.minecraft.world.item.ProjectileWeaponItem; @@ -16,7 +16,7 @@ index 5bea46a548703871d1c6743746886a6071581e07..c7caa9531a761405d1793c90080bb872 import net.minecraft.world.level.BlockGetter; import net.minecraft.world.level.GameRules; import net.minecraft.world.level.ItemLike; -@@ -1065,6 +1066,12 @@ public abstract class Mob extends LivingEntity { +@@ -1070,6 +1071,12 @@ public abstract class Mob extends LivingEntity { } diff --git a/patches/server/0069-Add-5-second-tps-average-in-tps.patch b/patches/server/0069-Add-5-second-tps-average-in-tps.patch index 9dd172536..3f24461ac 100644 --- a/patches/server/0069-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0069-Add-5-second-tps-average-in-tps.patch @@ -27,10 +27,10 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216 setListData(vector); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 36d26af5b28e96cee930307b6d18edd7bfae8f23..91e6d0b6560ffa8e870eca9707d5cd117fcb2347 100644 +index 08789b178490acf8a6d14687e03760de983214e3..6dbc16b12b0baba016fb9c2d83facf01d94f4c59 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -307,7 +307,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { return Component.Serializer.toJson((Component) (new TextComponent(s))); -@@ -1199,10 +1202,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1238,10 +1241,13 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser private void a(List list, UnaryOperator unaryoperator, ItemStack itemstack, int slot, ItemStack handItem) { // CraftBukkit ListTag nbttaglist = new ListTag(); @@ -44,7 +44,7 @@ index 461e80185d25529c367ede7df571fbff172f0384..b9cbbd3c69ef9e14905873f9e4ce3104 Objects.requireNonNull(nbttaglist); stream.forEach(nbttaglist::add); -@@ -1212,10 +1218,10 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1251,10 +1257,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 461e80185d25529c367ede7df571fbff172f0384..b9cbbd3c69ef9e14905873f9e4ce3104 if (!s.equals(s1)) { nbttagcompound.putString(String.valueOf(i), (String) unaryoperator.apply(s1)); -@@ -1231,6 +1237,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1270,6 +1276,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/0082-Entity-lifespan.patch b/patches/server/0082-Entity-lifespan.patch index bd44ed7d9..2edb7d7ca 100644 --- a/patches/server/0082-Entity-lifespan.patch +++ b/patches/server/0082-Entity-lifespan.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Entity lifespan diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index c7caa9531a761405d1793c90080bb8721626a7d2..2ca0c22a23916acd034f70edc9d94ea22bbd0b52 100644 +index de3f7b0798d803e6d13a3c95aaaef3045ea22fed..9b8b82bf5bb276be51b8ba5c023879b3a45212cb 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -125,6 +125,7 @@ public abstract class Mob extends LivingEntity { @@ -80,7 +80,7 @@ index c7caa9531a761405d1793c90080bb8721626a7d2..2ca0c22a23916acd034f70edc9d94ea2 } @Override -@@ -1578,6 +1612,7 @@ public abstract class Mob extends LivingEntity { +@@ -1583,6 +1617,7 @@ public abstract class Mob extends LivingEntity { this.setLastHurtMob(target); } diff --git a/patches/server/0083-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch b/patches/server/0083-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch index daf301a5f..dca6c0545 100644 --- a/patches/server/0083-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch +++ b/patches/server/0083-Add-option-to-teleport-to-spawn-if-outside-world-bor.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add option to teleport to spawn if outside world border diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 6f854aa8dfc60ebb580a257c8d6dce93c573af15..8c46b88bb8bfdea6410ad870da92bef084a0089e 100644 +index c6e33f674543841710d351235a1a2b2223422a0d..045bdac43418ff34381e5908cb666e616c77ece2 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2445,5 +2445,25 @@ public class ServerPlayer extends Player { +@@ -2457,5 +2457,25 @@ public class ServerPlayer extends Player { } // CraftBukkit end diff --git a/patches/server/0094-Add-no-random-tick-block-list.patch b/patches/server/0094-Add-no-random-tick-block-list.patch index bda346ca7..ce9f2adb1 100644 --- a/patches/server/0094-Add-no-random-tick-block-list.patch +++ b/patches/server/0094-Add-no-random-tick-block-list.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add no-random-tick block list diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 56d6992fed812208b4cb04e4c9f9fc6636d2f7a4..3ecefe8dbde7ab2a83e62436808740380a1ecc48 100644 +index 39402063a73fbdbefdbcd7b4f7ea675cafdfaa3a..edcc1c8ff972c94983193b0057a9d11875ecc0c6 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -318,7 +318,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl +@@ -488,7 +488,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl this.players = Lists.newArrayList(); this.entityTickList = new EntityTickList(); Predicate predicate = (block) -> { // CraftBukkit - decompile eror @@ -18,10 +18,10 @@ index 56d6992fed812208b4cb04e4c9f9fc6636d2f7a4..3ecefe8dbde7ab2a83e6243680874038 DefaultedRegistry registryblocks = Registry.BLOCK; diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index a107304351381d68fdaa35a4d7ff214e6c1546a6..6e5dcf3c8a537729a18c085ebb5ab46b59c1d24c 100644 +index 7538262e14c86e4da9cd4cb887b76f649bfef2e6..f34973be478de4f088a0593b45bd89e558a13609 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -@@ -893,10 +893,12 @@ public abstract class BlockBehaviour { +@@ -915,10 +915,12 @@ public abstract class BlockBehaviour { } public void tick(ServerLevel world, BlockPos pos, Random random) { diff --git a/patches/server/0097-Stop-squids-floating-on-top-of-water.patch b/patches/server/0097-Stop-squids-floating-on-top-of-water.patch index e9b926d05..f99b3b031 100644 --- a/patches/server/0097-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0097-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 7b92f2ae2799af2713088e655da0716c10f52189..d774fd1c2f146b9933f7f1d4d4cdda1aeea5bf44 100644 +index 0961b33349ac09e182899d35b4af950babb83331..429f710c6814ad796d78ad6d5dbbffd66c4961df 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3643,11 +3643,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -3832,11 +3832,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n this.yRotO = this.getYRot(); } @@ -45,10 +45,10 @@ index f96def2ebdf114823c322c2d4318d039e20eab97..2affff346a7fe81480e86cb61996039d @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 6f7e6429c35eea346517cbf08cf223fc6d838a8c..6a77112180556675af38cb1b3ce0b38a42ce9525 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); } diff --git a/patches/server/0100-Entities-can-use-portals-configuration.patch b/patches/server/0100-Entities-can-use-portals-configuration.patch index 11b04fd95..a5e2cc0c9 100644 --- a/patches/server/0100-Entities-can-use-portals-configuration.patch +++ b/patches/server/0100-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 d774fd1c2f146b9933f7f1d4d4cdda1aeea5bf44..0f8cafed9afbb801217b2adb91c270811e149913 100644 +index 429f710c6814ad796d78ad6d5dbbffd66c4961df..fce6d351277c2de8eaaaf93e0b166e405477c573 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2512,7 +2512,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -2701,7 +2701,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n public void handleInsidePortal(BlockPos pos) { if (this.isOnPortalCooldown()) { this.setPortalCooldown(); @@ -17,7 +17,7 @@ index d774fd1c2f146b9933f7f1d4d4cdda1aeea5bf44..0f8cafed9afbb801217b2adb91c27081 if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) { this.portalEntrancePos = pos.immutable(); } -@@ -3144,7 +3144,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -3333,7 +3333,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n } public boolean canChangeDimensions() { diff --git a/patches/server/0103-Allow-toggling-special-MobSpawners-per-world.patch b/patches/server/0103-Allow-toggling-special-MobSpawners-per-world.patch index 3e36bb4ad..fc59659c8 100644 --- a/patches/server/0103-Allow-toggling-special-MobSpawners-per-world.patch +++ b/patches/server/0103-Allow-toggling-special-MobSpawners-per-world.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Allow toggling special MobSpawners per world In vanilla, these are all hardcoded on for world type 0 (overworld) and hardcoded off for every other world type. Default config behaviour matches this. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 09b2b06ffd52d988b8f4b768ebdc0cb28a8c853a..eb9c772c3da7205ba40f010aa417be8f7d2615d2 100644 +index edcc1c8ff972c94983193b0057a9d11875ecc0c6..13bee6ce45fd718484a9cf08645556717c9934e8 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -83,6 +83,7 @@ import net.minecraft.world.entity.MobCategory; @@ -27,7 +27,7 @@ index 09b2b06ffd52d988b8f4b768ebdc0cb28a8c853a..eb9c772c3da7205ba40f010aa417be8f import net.minecraft.world.entity.player.Player; import net.minecraft.world.entity.raid.Raid; import net.minecraft.world.entity.raid.Raids; -@@ -132,6 +135,8 @@ import net.minecraft.world.level.gameevent.GameEvent; +@@ -133,6 +136,8 @@ import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.level.gameevent.GameEventListenerRegistrar; import net.minecraft.world.level.gameevent.vibrations.VibrationPath; import net.minecraft.world.level.levelgen.Heightmap; @@ -36,7 +36,7 @@ index 09b2b06ffd52d988b8f4b768ebdc0cb28a8c853a..eb9c772c3da7205ba40f010aa417be8f import net.minecraft.world.level.levelgen.feature.StructureFeature; import net.minecraft.world.level.levelgen.structure.BoundingBox; import net.minecraft.world.level.levelgen.structure.StructureStart; -@@ -341,7 +346,24 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl +@@ -511,7 +516,24 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl this.dragonParts = new Int2ObjectOpenHashMap(); this.tickTime = flag1; this.server = minecraftserver; @@ -94,13 +94,13 @@ index f8ede3588bfda9a7d4d5807311a3e9c2651fd0a3..56967cef0f184def046935e20148574f if (NaturalSpawner.isSpawnPositionOk(SpawnPlacements.Type.ON_GROUND, world, blockposition2, EntityType.WANDERING_TRADER)) { blockposition1 = blockposition2; diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 19292963c9897f6175eab8865d622439009cc956..e798d11ea085b6b13318f82b967a7b4708391a76 100644 +index 73d2977dda0482ff2574719dfec4ca359699c485..65faed60a42cc058e242481afcc54081f4b9921c 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -200,7 +200,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { - protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, final DimensionType dimensionmanager, Supplier supplier, boolean flag, boolean flag1, long i, org.bukkit.generator.ChunkGenerator gen, org.bukkit.World.Environment env, java.util.concurrent.Executor executor) { // Paper - Anti-Xray - Pass executor +@@ -310,7 +310,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper + this.tuinityConfig = new com.tuinity.tuinity.config.TuinityConfig.WorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData)worlddatamutable).getLevelName()); // Tuinity - Server Config - this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName())); // Purpur + this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()), env); // Purpur this.generator = gen; diff --git a/patches/server/0111-Stonecutter-damage.patch b/patches/server/0111-Stonecutter-damage.patch index a49b0ed35..1a0f06c32 100644 --- a/patches/server/0111-Stonecutter-damage.patch +++ b/patches/server/0111-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 0f8cafed9afbb801217b2adb91c270811e149913..4c703cb20c7fa638c2f578cef1cd9dca788b4569 100644 +index fce6d351277c2de8eaaaf93e0b166e405477c573..97c1d86519370665d9f3eccedea03196a9681c80 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -897,7 +897,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -1001,7 +1001,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n } // CraftBukkit end diff --git a/patches/server/0112-Configurable-daylight-cycle.patch b/patches/server/0112-Configurable-daylight-cycle.patch index fbf45c65e..e9bafa78b 100644 --- a/patches/server/0112-Configurable-daylight-cycle.patch +++ b/patches/server/0112-Configurable-daylight-cycle.patch @@ -18,7 +18,7 @@ index 689ad22925b2561f7c8db961743eb1f821dbb25f..fa3c960992cc240161817e54659d83fe public ClientboundSetTimePacket(long time, long timeOfDay, boolean doDaylightCycle) { this.gameTime = time % 192000; // Paper - fix guardian beam diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index cf3e37ffe33af3711ef18483fb55770cc494c3d2..665a78503661922e98d6b2de380cda107ffd22de 100644 +index 13bee6ce45fd718484a9cf08645556717c9934e8..dbdaadfaeea555904556136a7cca02aa59b85369 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -55,6 +55,7 @@ import net.minecraft.network.protocol.game.ClientboundExplodePacket; @@ -29,23 +29,24 @@ index cf3e37ffe33af3711ef18483fb55770cc494c3d2..665a78503661922e98d6b2de380cda10 import net.minecraft.network.protocol.game.ClientboundSoundEntityPacket; import net.minecraft.network.protocol.game.ClientboundSoundPacket; import net.minecraft.network.protocol.game.DebugPackets; -@@ -199,6 +200,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl - final Int2ObjectMap dragonParts; - private final StructureFeatureManager structureFeatureManager; - private final boolean tickTime; +@@ -205,6 +206,8 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl + public long lastMidTickExecuteFailure; + // Tuinity end - execute chunk tasks mid tick + + private double fakeTime; // Purpur - - ++ // CraftBukkit start -@@ -408,6 +410,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl + private int tickPosition; + public final LevelStorageSource.LevelStorageAccess convertable; +@@ -578,6 +581,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl this.getCraftServer().addWorld(this.getWorld()); // CraftBukkit this.asyncChunkTaskManager = new com.destroystokyo.paper.io.chunk.ChunkTaskManager(this); // Paper + this.fakeTime = this.serverLevelData.getDayTime(); } - // CraftBukkit start -@@ -581,9 +584,20 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl + // Tuinity start - optimise collision +@@ -763,9 +767,20 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl // CraftBukkit start long l = this.levelData.getDayTime() + 24000L; TimeSkipEvent event = new TimeSkipEvent(this.getWorld(), TimeSkipEvent.SkipReason.NIGHT_SKIP, (l - l % 24000L) - this.getDayTime()); @@ -66,7 +67,7 @@ index cf3e37ffe33af3711ef18483fb55770cc494c3d2..665a78503661922e98d6b2de380cda10 this.setDayTime(this.getDayTime() + event.getSkipAmount()); } -@@ -695,6 +709,12 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl +@@ -877,6 +892,12 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl public void setDayTime(long timeOfDay) { this.serverLevelData.setDayTime(timeOfDay); diff --git a/patches/server/0116-Ability-to-re-add-farmland-mechanics-from-Alpha.patch b/patches/server/0116-Ability-to-re-add-farmland-mechanics-from-Alpha.patch index 522570543..7f47abca5 100644 --- a/patches/server/0116-Ability-to-re-add-farmland-mechanics-from-Alpha.patch +++ b/patches/server/0116-Ability-to-re-add-farmland-mechanics-from-Alpha.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ability to re-add farmland mechanics from Alpha diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java -index 97e5cb4fd9f97c0bfa9d66c0ceac84e134f1053f..e92f6ffcda47aad76ad647bc2ad3d1862bf24d8a 100644 +index 5d9d77cb382c8075af2713a0ce26c28a35a0aaa8..2d4d59eb5a534e4c283933b734c44776b674b2eb 100644 --- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java -@@ -113,6 +113,14 @@ public class FarmBlock extends Block { +@@ -96,6 +96,14 @@ public class FarmBlock extends Block { return; } diff --git a/patches/server/0117-Add-adjustable-breeding-cooldown-to-config.patch b/patches/server/0117-Add-adjustable-breeding-cooldown-to-config.patch index d49da6627..916c0d631 100644 --- a/patches/server/0117-Add-adjustable-breeding-cooldown-to-config.patch +++ b/patches/server/0117-Add-adjustable-breeding-cooldown-to-config.patch @@ -33,10 +33,10 @@ index 5a503a255b4e7e684a8f42d8190430397ca81683..7a90c6a628571730eee382e1efcfe1b9 entityageable.setBaby(true); entityageable.moveTo(this.getX(), this.getY(), this.getZ(), 0.0F, 0.0F); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index d23b3f22c05a10715e5c3305e7068dfc372e8d79..fe1b85196d6a83adbae46eddbe7f8c2a50b1e175 100644 +index 65faed60a42cc058e242481afcc54081f4b9921c..162b5a4626af5e1190d51a1e80680241325b8088 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -185,6 +185,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -187,6 +187,49 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } // Paper end - fix and optimise world upgrading @@ -86,9 +86,9 @@ index d23b3f22c05a10715e5c3305e7068dfc372e8d79..fe1b85196d6a83adbae46eddbe7f8c2a public CraftWorld getWorld() { return this.world; } -@@ -201,6 +244,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { - this.spigotConfig = new org.spigotmc.SpigotWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()); // Spigot +@@ -311,6 +354,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { this.paperConfig = new com.destroystokyo.paper.PaperWorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName(), this.spigotConfig); // Paper + this.tuinityConfig = new com.tuinity.tuinity.config.TuinityConfig.WorldConfig(((net.minecraft.world.level.storage.PrimaryLevelData)worlddatamutable).getLevelName()); // Tuinity - Server Config this.purpurConfig = new net.pl3x.purpur.PurpurWorldConfig((((net.minecraft.world.level.storage.PrimaryLevelData) worlddatamutable).getLevelName()), env); // Purpur + this.playerBreedingCooldowns = this.getNewBreedingCooldownCache(); // Purpur this.generator = gen; diff --git a/patches/server/0124-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch b/patches/server/0124-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch index 72fcc96b2..aed814b87 100644 --- a/patches/server/0124-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch +++ b/patches/server/0124-Add-critical-hit-check-to-EntityDamagedByEntityEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add critical hit check to EntityDamagedByEntityEvent 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 d1a6e3f3538f1a09a5448011e7e02722e1252708..328a9849bb601e1cc9fd31066c2313f9bdfa07b8 100644 +index 3dc2ebc102fe3f575eede672509f330271571575..e15155c01b94d2f52182d28bebf2b5db65acdb97 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -182,6 +182,7 @@ public abstract class Player extends LivingEntity { @@ -16,7 +16,7 @@ index d1a6e3f3538f1a09a5448011e7e02722e1252708..328a9849bb601e1cc9fd31066c2313f9 // CraftBukkit start public boolean fauxSleeping; -@@ -1242,6 +1243,7 @@ public abstract class Player extends LivingEntity { +@@ -1247,6 +1248,7 @@ public abstract class Player extends LivingEntity { flag2 = flag2 && !level.paperConfig.disablePlayerCrits; // Paper flag2 = flag2 && !this.isSprinting(); if (flag2) { @@ -24,7 +24,7 @@ index d1a6e3f3538f1a09a5448011e7e02722e1252708..328a9849bb601e1cc9fd31066c2313f9 f *= 1.5F; } -@@ -1278,6 +1280,7 @@ public abstract class Player extends LivingEntity { +@@ -1283,6 +1285,7 @@ public abstract class Player extends LivingEntity { Vec3 vec3d = target.getDeltaMovement(); boolean flag5 = target.hurt(DamageSource.playerAttack(this), f); diff --git a/patches/server/0128-Changeable-Mob-Left-Handed-Chance.patch b/patches/server/0128-Changeable-Mob-Left-Handed-Chance.patch index d1374334c..e86abc1a4 100644 --- a/patches/server/0128-Changeable-Mob-Left-Handed-Chance.patch +++ b/patches/server/0128-Changeable-Mob-Left-Handed-Chance.patch @@ -5,10 +5,10 @@ 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 2ca0c22a23916acd034f70edc9d94ea22bbd0b52..e0fa000738d2fb4472056e973159e40d3b9fa962 100644 +index 9b8b82bf5bb276be51b8ba5c023879b3a45212cb..13b256c7d9723e38d1a1f5766fb2a28bc26f8943 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1198,7 +1198,7 @@ public abstract class Mob extends LivingEntity { +@@ -1203,7 +1203,7 @@ public abstract class Mob extends LivingEntity { @Nullable public SpawnGroupData finalizeSpawn(ServerLevelAccessor world, DifficultyInstance difficulty, MobSpawnType spawnReason, @Nullable SpawnGroupData entityData, @Nullable CompoundTag entityNbt) { this.getAttribute(Attributes.FOLLOW_RANGE).addPermanentModifier(new AttributeModifier("Random spawn bonus", this.random.nextGaussian() * 0.05D, AttributeModifier.Operation.MULTIPLY_BASE)); diff --git a/patches/server/0136-Spread-out-and-optimise-player-list-ticksSpread-out-.patch b/patches/server/0136-Spread-out-and-optimise-player-list-ticksSpread-out-.patch index 8c49bb26f..0793e6cac 100644 --- a/patches/server/0136-Spread-out-and-optimise-player-list-ticksSpread-out-.patch +++ b/patches/server/0136-Spread-out-and-optimise-player-list-ticksSpread-out-.patch @@ -6,10 +6,10 @@ 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 8a2568a6af89cf1d979bf8accf5d9c7bfdbfdec8..75d2dbe9092b8f46d102bf50d616bc37883f8375 100644 +index e4b77d55350e93926eef9a7c521a074047542644..3508c809d2840a07fa06a37b177a73a0671b633a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1004,22 +1004,22 @@ public abstract class PlayerList { +@@ -1005,22 +1005,22 @@ public abstract class PlayerList { } public void tick() { @@ -46,10 +46,10 @@ index 8a2568a6af89cf1d979bf8accf5d9c7bfdbfdec8..75d2dbe9092b8f46d102bf50d616bc37 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 676d98f183d798f1ea894cd78539f9034edb3659..9388a960317b3d0bcebbbce3855db64d2dc9e97a 100644 +index 22693f6c27b120c987153753dd33ffd37c227592..dda1a5033172db0bb6b53e93448f92af065248ad 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1503,7 +1503,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1558,7 +1558,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public boolean canSee(Player player) { diff --git a/patches/server/0141-Implement-TPSBar.patch b/patches/server/0141-Implement-TPSBar.patch index 26dc990da..3a34e2b76 100644 --- a/patches/server/0141-Implement-TPSBar.patch +++ b/patches/server/0141-Implement-TPSBar.patch @@ -17,10 +17,10 @@ index f164106a957c24bdb71bde85d82948a64613fd91..bef1f6ca54fc6c1741b54b8e071a90eb if (environment.includeIntegrated) { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 814250f52c48af1ddc6e91cbf5519b331619d304..f82dcc723adf0157cb4122b1c9dc3e0bce55d0a3 100644 +index 6dbc16b12b0baba016fb9c2d83facf01d94f4c59..ec6b9574fcbcae429d09da367720eab73d099806 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1040,6 +1040,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 100) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send a book with too many pages"); @@ -16,7 +16,7 @@ index 1c4639b95ef5ef4bad18834d651744152b8ce392..8651f9e288bc955dbbe02fbd3abf12e3 server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause return; } -@@ -1095,6 +1096,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1134,6 +1135,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser int byteLength = testString.getBytes(java.nio.charset.StandardCharsets.UTF_8).length; if (byteLength > 256 * 4) { ServerGamePacketListenerImpl.LOGGER.warn(this.player.getScoreboardName() + " tried to send a book with with a page too large!"); @@ -24,7 +24,7 @@ index 1c4639b95ef5ef4bad18834d651744152b8ce392..8651f9e288bc955dbbe02fbd3abf12e3 server.scheduleOnMain(() -> this.disconnect("Book too large!", org.bukkit.event.player.PlayerKickEvent.Cause.ILLEGAL_ACTION)); // Paper - kick event cause return; } -@@ -1118,6 +1120,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1157,6 +1159,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/0146-Add-MC-4-fix-back.patch b/patches/server/0146-Add-MC-4-fix-back.patch index 162bf1644..c6b9d56e4 100644 --- a/patches/server/0146-Add-MC-4-fix-back.patch +++ b/patches/server/0146-Add-MC-4-fix-back.patch @@ -5,14 +5,14 @@ Subject: [PATCH] Add MC-4 fix back diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4c703cb20c7fa638c2f578cef1cd9dca788b4569..98eeee9eb047d607d353c6c0efcf06fcd4b32bde 100644 +index 97c1d86519370665d9f3eccedea03196a9681c80..3918287a997887051eb85810f91bb67f23c31df5 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3841,7 +3841,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -4032,7 +4032,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n public final void setPosRaw(double x, double y, double z) { // Paper start - fix MC-4 if (this instanceof ItemEntity) { -- if (com.destroystokyo.paper.PaperConfig.fixEntityPositionDesync) { +- if (false && com.destroystokyo.paper.PaperConfig.fixEntityPositionDesync) { // Tuinity - revert + if (com.destroystokyo.paper.PaperConfig.fixEntityPositionDesync) { // Tuinity - revert // Purpur - no // encode/decode from PacketPlayOutEntity x = Mth.lfloor(x * 4096.0D) * (1 / 4096.0D); diff --git a/patches/server/0147-Add-mobGriefing-bypass-to-everything-affected.patch b/patches/server/0147-Add-mobGriefing-bypass-to-everything-affected.patch index dd50a4459..db14bcf97 100644 --- a/patches/server/0147-Add-mobGriefing-bypass-to-everything-affected.patch +++ b/patches/server/0147-Add-mobGriefing-bypass-to-everything-affected.patch @@ -18,7 +18,7 @@ index 0fa7a658af3dc1766e06d90d396a426c558917ab..5c82dd279fc3a5847e2e0ed6c9cf9e70 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 e0fa000738d2fb4472056e973159e40d3b9fa962..0cb0b08b8bcf5d43c28a8696173e0269469b57ab 100644 +index 13b256c7d9723e38d1a1f5766fb2a28bc26f8943..a397a4bd2deb682d1465a305731cee0d911e64af 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -656,7 +656,7 @@ public abstract class Mob extends LivingEntity { @@ -354,10 +354,10 @@ index 6dda5eeca4e310eceb2598322803bfafc184e9c7..3c51e6d419a244b9270119590aa29952 } diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java -index e92f6ffcda47aad76ad647bc2ad3d1862bf24d8a..5b15275c8d808916a1506a19a8bc29103adedae9 100644 +index 2d4d59eb5a534e4c283933b734c44776b674b2eb..aad204181c4f54ee533bfe3fc04a8705b847e371 100644 --- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java -@@ -99,7 +99,7 @@ public class FarmBlock extends Block { +@@ -82,7 +82,7 @@ public class FarmBlock extends Block { @Override public void fallOn(Level world, BlockState state, BlockPos pos, Entity entity, float fallDistance) { super.fallOn(world, state, pos, entity, fallDistance); // CraftBukkit - moved here as game rules / events shouldn't affect fall damage. diff --git a/patches/server/0149-Add-EntityTeleportHinderedEvent.patch b/patches/server/0149-Add-EntityTeleportHinderedEvent.patch index 6c73e0efe..cc8aad93b 100644 --- a/patches/server/0149-Add-EntityTeleportHinderedEvent.patch +++ b/patches/server/0149-Add-EntityTeleportHinderedEvent.patch @@ -98,10 +98,10 @@ index dfcd0ee48e178c85bb64134e261f82faf9292a0e..5f6cd91f7eda35f1e0310ec76f7380e3 noteBlockIgnoreAbove = getBoolean("gameplay-mechanics.note-block-ignore-above", noteBlockIgnoreAbove); persistentTileEntityDisplayNames = getBoolean("gameplay-mechanics.persistent-tileentity-display-names-and-lore", persistentTileEntityDisplayNames); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 6b85ba7d9bad9f648b4a6cb5a3938509b3e73cca..d2c776b8c189dc01dadb7399d3892399ebcb6276 100644 +index edc08af4ec2ce6e90c30da286c0ba5ac16efd3fc..3a92c0112befe51e795f81b1fce52e1f083f6373 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -550,6 +550,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -559,6 +559,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { location.checkFinite(); if (this.entity.isVehicle() || this.entity.isRemoved()) { @@ -113,10 +113,10 @@ index 6b85ba7d9bad9f648b4a6cb5a3938509b3e73cca..d2c776b8c189dc01dadb7399d3892399 } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 9388a960317b3d0bcebbbce3855db64d2dc9e97a..4da17c3dcf937304fb9dab675bccea816a2689ba 100644 +index dda1a5033172db0bb6b53e93448f92af065248ad..cc3750a28627a2b9def1b2cac91f43b9a0b7f2e3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -942,6 +942,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -997,6 +997,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.isVehicle()) { diff --git a/patches/server/0151-Farmland-trampling-changes.patch b/patches/server/0151-Farmland-trampling-changes.patch index 46fb511d0..3dd7db89d 100644 --- a/patches/server/0151-Farmland-trampling-changes.patch +++ b/patches/server/0151-Farmland-trampling-changes.patch @@ -12,10 +12,10 @@ necessary to trample in the first place. Feather Falling 1 requires you to fall over 3+ blocks to trample. FF 2 requires 4+, etc. diff --git a/src/main/java/net/minecraft/world/level/block/FarmBlock.java b/src/main/java/net/minecraft/world/level/block/FarmBlock.java -index 5b15275c8d808916a1506a19a8bc29103adedae9..3b170886d42df4c217b565f54b1c62726bb4732a 100644 +index aad204181c4f54ee533bfe3fc04a8705b847e371..16eb80e7926cf4fe421c17d7d851d457a2bc0f5d 100644 --- a/src/main/java/net/minecraft/world/level/block/FarmBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FarmBlock.java -@@ -114,12 +114,20 @@ public class FarmBlock extends Block { +@@ -97,12 +97,20 @@ public class FarmBlock extends Block { } // Purpur start diff --git a/patches/server/0152-Movement-options-for-armor-stands.patch b/patches/server/0152-Movement-options-for-armor-stands.patch index 9e9490df8..ea152ec55 100644 --- a/patches/server/0152-Movement-options-for-armor-stands.patch +++ b/patches/server/0152-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 98eeee9eb047d607d353c6c0efcf06fcd4b32bde..58990260fca555eae661b76d0fcc016667c225cc 100644 +index 3918287a997887051eb85810f91bb67f23c31df5..7dd584f12e38596d2e6f5f90131a296d97595306 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1402,7 +1402,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -1588,7 +1588,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n return this.isInWater() || flag; } diff --git a/patches/server/0153-Fix-stuck-in-portals.patch b/patches/server/0153-Fix-stuck-in-portals.patch index 7d4d8339e..3a055d7e9 100644 --- a/patches/server/0153-Fix-stuck-in-portals.patch +++ b/patches/server/0153-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 820e1b059fedcc5fe4ccbec772594dddce71fecb..baefaa7bd81ef1fdec6f1b2a03c1a8bff42ce84c 100644 +index d362c9efbad593a7cd7efbcdba4acf1457abe4f7..1747d80315d7b11b7ccb21dd41324434e655b628 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1136,6 +1136,7 @@ public class ServerPlayer extends Player { @@ -17,10 +17,10 @@ index 820e1b059fedcc5fe4ccbec772594dddce71fecb..baefaa7bd81ef1fdec6f1b2a03c1a8bf // 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 58990260fca555eae661b76d0fcc016667c225cc..54884cac9bc31fff6ce418921b590ca9b8764820 100644 +index 7dd584f12e38596d2e6f5f90131a296d97595306..c041fce2a8451b918a15b940f2f78688d9cbc9d9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2509,12 +2509,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -2698,12 +2698,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n return Vec3.directionFromRotation(this.getRotationVector()); } diff --git a/patches/server/0154-Toggle-for-water-sensitive-mob-damage.patch b/patches/server/0154-Toggle-for-water-sensitive-mob-damage.patch index 517d6fae7..2987e9af4 100644 --- a/patches/server/0154-Toggle-for-water-sensitive-mob-damage.patch +++ b/patches/server/0154-Toggle-for-water-sensitive-mob-damage.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Toggle for water sensitive mob damage diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 0cb0b08b8bcf5d43c28a8696173e0269469b57ab..d92549e81160afaa1d109501806f3af96c475d7e 100644 +index a397a4bd2deb682d1465a305731cee0d911e64af..b057284fea2fc32e300183ee1db29173efa6d490 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -855,7 +855,7 @@ public abstract class Mob extends LivingEntity { +@@ -860,7 +860,7 @@ public abstract class Mob extends LivingEntity { if (goalFloat.canUse()) goalFloat.tick(); this.getJumpControl().tick(); } diff --git a/patches/server/0157-Add-unsafe-Entity-serialization-API.patch b/patches/server/0157-Add-unsafe-Entity-serialization-API.patch index be0338704..b6d20fa14 100644 --- a/patches/server/0157-Add-unsafe-Entity-serialization-API.patch +++ b/patches/server/0157-Add-unsafe-Entity-serialization-API.patch @@ -17,10 +17,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index d2c776b8c189dc01dadb7399d3892399ebcb6276..e2b1574af471699f93956130b50268647f24e0b9 100644 +index 3a92c0112befe51e795f81b1fce52e1f083f6373..1035e023003521574a09fdea3fd08e5fca66d8fc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1233,5 +1233,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1242,5 +1242,12 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { public boolean isRidableInWater() { return getHandle().rideableUnderWater(); } diff --git a/patches/server/0159-Dont-run-with-scissors.patch b/patches/server/0159-Dont-run-with-scissors.patch index 4ce26ecbe..48664f90d 100644 --- a/patches/server/0159-Dont-run-with-scissors.patch +++ b/patches/server/0159-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 8651f9e288bc955dbbe02fbd3abf12e3826a89e8..62643b2b110d449b7b70bf9ae68b01ff9e8d4a80 100644 +index c65a6ab9a30ad269a2caad9ab5fad77c4c7ce3aa..082deb251fa793561cc4366cc7b03d7b73bd02ba 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1518,6 +1518,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1575,6 +1575,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.player.fallDistance = 0.0F; } diff --git a/patches/server/0171-Config-for-skipping-night.patch b/patches/server/0171-Config-for-skipping-night.patch index 3b8ee4fa8..c58f07368 100644 --- a/patches/server/0171-Config-for-skipping-night.patch +++ b/patches/server/0171-Config-for-skipping-night.patch @@ -5,10 +5,10 @@ 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 665a78503661922e98d6b2de380cda107ffd22de..48fd3ed38ae5961041276cd7b97bd36b4d3521d0 100644 +index dbdaadfaeea555904556136a7cca02aa59b85369..04b9a36d978b085d9cb35030c6e6395e41c8c758 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -580,7 +580,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl +@@ -763,7 +763,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl // CraftBukkit end i = this.getGameRules().getInt(GameRules.RULE_PLAYERS_SLEEPING_PERCENTAGE); diff --git a/patches/server/0174-Drowning-Settings.patch b/patches/server/0174-Drowning-Settings.patch index 1291cf5e0..1e8e59a1e 100644 --- a/patches/server/0174-Drowning-Settings.patch +++ b/patches/server/0174-Drowning-Settings.patch @@ -5,10 +5,10 @@ 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 54884cac9bc31fff6ce418921b590ca9b8764820..474a11249614e5ebf47090bfc45838db199aea88 100644 +index c041fce2a8451b918a15b940f2f78688d9cbc9d9..f39650ecea50b97c19336906334855318e5a1d64 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2743,7 +2743,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -2932,7 +2932,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n } public int getMaxAirSupply() { diff --git a/patches/server/0175-Break-individual-slabs-when-sneaking.patch b/patches/server/0175-Break-individual-slabs-when-sneaking.patch index 8678dae63..a9b5e5896 100644 --- a/patches/server/0175-Break-individual-slabs-when-sneaking.patch +++ b/patches/server/0175-Break-individual-slabs-when-sneaking.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Break individual slabs when sneaking diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 4b756c0a4b607faa03b00ab81761335be63c39eb..591066f1762fcc6304fff6ad8122f8c05b3d6aa6 100644 +index b2c8cae1a777cd63a35ed1340caf205b1b3bb0ad..11270c763dc5e260074260e10a6dd9a9b7a09c8f 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -387,6 +387,7 @@ public class ServerPlayerGameMode { +@@ -419,6 +419,7 @@ public class ServerPlayerGameMode { } return false; } diff --git a/patches/server/0185-Configurable-damage-settings-for-magma-blocks.patch b/patches/server/0185-Configurable-damage-settings-for-magma-blocks.patch index 9c3ef7e16..2d71d6b53 100644 --- a/patches/server/0185-Configurable-damage-settings-for-magma-blocks.patch +++ b/patches/server/0185-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 474a11249614e5ebf47090bfc45838db199aea88..714749691ab1252aea682eb1222c76d307ae1fe7 100644 +index f39650ecea50b97c19336906334855318e5a1d64..ef4a8b0a072cb6350fd0102417d94ea2c222d5dc 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -897,7 +897,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -1001,7 +1001,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n } // CraftBukkit end diff --git a/patches/server/0198-Add-config-change-multiplier-critical-damage-value.patch b/patches/server/0198-Add-config-change-multiplier-critical-damage-value.patch index 6c99cfb36..cc78b27c1 100644 --- a/patches/server/0198-Add-config-change-multiplier-critical-damage-value.patch +++ b/patches/server/0198-Add-config-change-multiplier-critical-damage-value.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add config change multiplier critical damage value 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 dc5ce9a61a20870f4321412ea1e78cc4aa340f97..18f198fb410b579390fc93c848fda34b407b39b4 100644 +index 1109abd6ba6eeac9b81d23816efd731950b9d0eb..77febfcd29562f1a8558e6a9306ccdfdecd11897 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1254,7 +1254,7 @@ public abstract class Player extends LivingEntity { +@@ -1259,7 +1259,7 @@ public abstract class Player extends LivingEntity { flag2 = flag2 && !this.isSprinting(); if (flag2) { this.isCritical = true; // Purpur diff --git a/patches/server/0202-ShulkerBox-allow-oversized-stacks.patch b/patches/server/0202-ShulkerBox-allow-oversized-stacks.patch index 7516725b5..21e1a0b63 100644 --- a/patches/server/0202-ShulkerBox-allow-oversized-stacks.patch +++ b/patches/server/0202-ShulkerBox-allow-oversized-stacks.patch @@ -9,10 +9,10 @@ creating an itemstack using the TileEntity's NBT data (how it handles it for creative players) instead of routing it through the LootableBuilder. diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 591066f1762fcc6304fff6ad8122f8c05b3d6aa6..1fdeb70468a203e14c2dd3f980b78ea851b2a73a 100644 +index 11270c763dc5e260074260e10a6dd9a9b7a09c8f..a25e4eeb1ce4e18c7cb14e269ad3852715209cb9 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -416,7 +416,7 @@ public class ServerPlayerGameMode { +@@ -448,7 +448,7 @@ public class ServerPlayerGameMode { block.destroy(this.level, pos, iblockdata); } diff --git a/patches/server/0204-API-for-any-mob-to-burn-daylight.patch b/patches/server/0204-API-for-any-mob-to-burn-daylight.patch index 0b32fa617..667559284 100644 --- a/patches/server/0204-API-for-any-mob-to-burn-daylight.patch +++ b/patches/server/0204-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 714749691ab1252aea682eb1222c76d307ae1fe7..28530a6b3b55d51f03df02a504900ccf83a11de7 100644 +index ef4a8b0a072cb6350fd0102417d94ea2c222d5dc..e78dad0ac30c8b5eb89c5780104c159701af5dfd 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4082,5 +4082,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -4275,5 +4275,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n public boolean canSaveToDisk() { return true; } @@ -89,10 +89,10 @@ index 521a353a1de6573b7e4fcebc673494cdb93d7815..c4865a08e40205bd17697b039769fd86 public boolean isSensitiveToWater() { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index d92549e81160afaa1d109501806f3af96c475d7e..c5fa64b2d1559bf47b3dac8a2a10205e93e638dd 100644 +index b057284fea2fc32e300183ee1db29173efa6d490..dcec19d6323697f8469a7f595e989954c5e3f224 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1629,17 +1629,7 @@ public abstract class Mob extends LivingEntity { +@@ -1634,17 +1634,7 @@ public abstract class Mob extends LivingEntity { } public boolean isSunBurnTick() { @@ -112,7 +112,7 @@ index d92549e81160afaa1d109501806f3af96c475d7e..c5fa64b2d1559bf47b3dac8a2a10205e @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java -index 74f4f8e1c9faef3b50fa817ca3dfbb6b19b1622d..9c74969267d14b5c41187ef4182f56020af9685a 100644 +index 74f4f8e1c9faef3b50fa817ca3dfbb6b19b1622d..5b19d8db09867791782c899d41d314c511f6c8a2 100644 --- a/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/AbstractSkeleton.java @@ -65,6 +65,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo @@ -161,7 +161,15 @@ index 74f4f8e1c9faef3b50fa817ca3dfbb6b19b1622d..9c74969267d14b5c41187ef4182f5602 super.aiStep(); } -@@ -233,7 +213,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo +@@ -189,7 +169,6 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo + } else { + this.goalSelector.addGoal(4, this.meleeGoal); + } +- + } + } + +@@ -233,7 +212,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo this.reassessWeaponGoal(); // Paper start if (nbt.contains("Paper.ShouldBurnInDay")) { @@ -170,7 +178,7 @@ index 74f4f8e1c9faef3b50fa817ca3dfbb6b19b1622d..9c74969267d14b5c41187ef4182f5602 } // Paper end } -@@ -242,7 +222,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo +@@ -242,7 +221,7 @@ public abstract class AbstractSkeleton extends Monster implements RangedAttackMo @Override public void addAdditionalSaveData(CompoundTag nbt) { super.addAdditionalSaveData(nbt); @@ -325,10 +333,10 @@ index b80f7c71cbf7b10bda6fac3cfe673ac7fe129923..5adef472e37b422c9b83ac00221be3fb // Paper end diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index e2b1574af471699f93956130b50268647f24e0b9..c5733b0d9d4de696421a30b5d7266334af004c3b 100644 +index 1035e023003521574a09fdea3fd08e5fca66d8fc..7484f9c13e41f9be305134595b7052dfff4d72c3 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -@@ -1240,5 +1240,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { +@@ -1249,5 +1249,10 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { entity.absMoveTo(location.getX(), location.getY(), location.getZ(), location.getYaw(), location.getPitch()); return !entity.valid && entity.level.addEntity(entity, spawnReason); } diff --git a/patches/server/0205-Fix-advancement-triggers-on-entity-death.patch b/patches/server/0205-Fix-advancement-triggers-on-entity-death.patch index 685435943..f90d1195c 100644 --- a/patches/server/0205-Fix-advancement-triggers-on-entity-death.patch +++ b/patches/server/0205-Fix-advancement-triggers-on-entity-death.patch @@ -47,10 +47,10 @@ index c4865a08e40205bd17697b039769fd8615b24744..0b8393a3d4202c8c57c5a63142c3ede8 CompoundTag nbttagcompound = stack.getTag(); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index c5fa64b2d1559bf47b3dac8a2a10205e93e638dd..1209aafa118d7bf01eebade3b994678a7c200b0b 100644 +index dcec19d6323697f8469a7f595e989954c5e3f224..4601df22a3ced8752b6aff9f052e564a24466ce4 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1014,6 +1014,41 @@ public abstract class Mob extends LivingEntity { +@@ -1019,6 +1019,41 @@ public abstract class Mob extends LivingEntity { } @@ -139,10 +139,10 @@ index c9a44a4765f43b9c0247ed1005f4c13469bdee95..6d08c8c31a32ea38f06410fbaddf19b9 public boolean canTakeItem(ItemStack stack) { net.minecraft.world.entity.EquipmentSlot enumitemslot = Mob.getEquipmentSlotForItem(stack); 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 18f198fb410b579390fc93c848fda34b407b39b4..d1b6ebf4b8df338b3ffcef2a55124636b3199fb3 100644 +index 77febfcd29562f1a8558e6a9306ccdfdecd11897..7f0ca07121bccf6faf9c8ebfe97e253775443f8b 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java -@@ -1990,6 +1990,52 @@ public abstract class Player extends LivingEntity { +@@ -1995,6 +1995,52 @@ public abstract class Player extends LivingEntity { } diff --git a/patches/server/0209-Add-toggle-for-end-portal-safe-teleporting.patch b/patches/server/0209-Add-toggle-for-end-portal-safe-teleporting.patch index cf57150be..d7841aea5 100644 --- a/patches/server/0209-Add-toggle-for-end-portal-safe-teleporting.patch +++ b/patches/server/0209-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 28530a6b3b55d51f03df02a504900ccf83a11de7..51dbfb0aaa6f87ec86d00f88ab73df0f434bd32f 100644 +index e78dad0ac30c8b5eb89c5780104c159701af5dfd..063df6d8ddb230ff1fd3e527e607b275f9b01c56 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2560,7 +2560,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -2749,7 +2749,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n } this.processPortalCooldown(); diff --git a/patches/server/0210-Flying-Fall-Damage-API.patch b/patches/server/0210-Flying-Fall-Damage-API.patch index 8e7722bbb..40ae10530 100644 --- a/patches/server/0210-Flying-Fall-Damage-API.patch +++ b/patches/server/0210-Flying-Fall-Damage-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Flying Fall Damage API 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 d1b6ebf4b8df338b3ffcef2a55124636b3199fb3..5cb678bf56c8c18a778c801236c63fdae461ef2a 100644 +index 7f0ca07121bccf6faf9c8ebfe97e253775443f8b..64b6c359c895264baa55d959ce28929712e8b1ee 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -183,6 +183,7 @@ public abstract class Player extends LivingEntity { @@ -16,7 +16,7 @@ index d1b6ebf4b8df338b3ffcef2a55124636b3199fb3..5cb678bf56c8c18a778c801236c63fda // CraftBukkit start public boolean fauxSleeping; -@@ -1729,7 +1730,7 @@ public abstract class Player extends LivingEntity { +@@ -1734,7 +1735,7 @@ public abstract class Player extends LivingEntity { @Override public boolean causeFallDamage(float fallDistance, float damageMultiplier, DamageSource damageSource) { @@ -26,10 +26,10 @@ index d1b6ebf4b8df338b3ffcef2a55124636b3199fb3..5cb678bf56c8c18a778c801236c63fda } 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 4da17c3dcf937304fb9dab675bccea816a2689ba..418d7833193df042edfcde6f54f3e2b1c2cde7f6 100644 +index cc3750a28627a2b9def1b2cac91f43b9a0b7f2e3..563e501d658018e2503f2972df181e623592b9aa 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2514,5 +2514,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2569,5 +2569,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSpawnInvulnerableTicks(int spawnInvulnerableTime) { getHandle().spawnInvulnerableTime = spawnInvulnerableTime; } diff --git a/patches/server/0211-Make-lightning-rod-range-configurable.patch b/patches/server/0211-Make-lightning-rod-range-configurable.patch index c2a99927a..22388f6cc 100644 --- a/patches/server/0211-Make-lightning-rod-range-configurable.patch +++ b/patches/server/0211-Make-lightning-rod-range-configurable.patch @@ -5,10 +5,10 @@ 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 40ece868bdab53ee10a9b2251540849732e77f69..378a0feef4f178ddce1e852f07966f377802fa3a 100644 +index 04b9a36d978b085d9cb35030c6e6395e41c8c758..c4d583c21cd95e02ff04dfa7cdd3ed1a001ee10a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -846,7 +846,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl +@@ -1045,7 +1045,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl return villageplacetype == PoiType.LIGHTNING_ROD; }, (blockposition1) -> { return blockposition1.getY() == this.getLevel().getHeight(Heightmap.Types.WORLD_SURFACE, blockposition1.getX(), blockposition1.getZ()) - 1;