From 07ab421076b3de55626464a5eacbf349aea5935a Mon Sep 17 00:00:00 2001 From: Ivan Pekov Date: Tue, 18 Aug 2020 08:30:07 +0300 Subject: [PATCH] Fixes and upstream Fixes the client spamming invalid biome id causing it to lag Upstream fixed other stuff Fixes some stacktraces if you're near bedrock --- PATCHES.md | 2 ++ Tuinity | 2 +- .../server/0001-Yatopia-Server-Fixes.patch | 8 ++++---- patches/server/0003-Brandings.patch | 2 +- .../server/0005-Add-getLastTickMs-api.patch | 4 ++-- ...g-Yatopia-command-and-basic-settings.patch | 4 ++-- patches/server/0036-Fix-MC-197616.patch | 18 +++++++++++++++++ patches/server/0037-Don-t-obfuscate-air.patch | 20 +++++++++++++++++++ 8 files changed, 50 insertions(+), 10 deletions(-) create mode 100644 patches/server/0036-Fix-MC-197616.patch create mode 100644 patches/server/0037-Don-t-obfuscate-air.patch diff --git a/PATCHES.md b/PATCHES.md index 9cbf1f2a..98982fe6 100644 --- a/PATCHES.md +++ b/PATCHES.md @@ -46,12 +46,14 @@ # Patches | api | Default permissions | William Blake Galbreath | | | server | Disable the Snooper | Sotr | | | server | Don't load chunk with seed based feature search | Phoenix616 | | +| server | Don't obfuscate air | Ivan Pekov | | | server | Don't trigger Lootable Refresh for non player interaction | Aikar | | | server | Don't wake up entities when damage event is cancelled | Phoenix616 | | | server | Dont send useless entity packets | William Blake Galbreath | | | server | Entity lifespan | William Blake Galbreath | | | server | Fix 'outdated server' showing in ping before server fully | William Blake Galbreath | | | server | Fix Bukkit.createInventory() with type LECTERN | willies952002 | | +| server | Fix MC-197616 | Ivan Pekov | | | server | Fix exp drop of zombie pigmen (MC-56653) | Phoenix616 | | | server | Fix lead fall dmg config | tr7zw | | | server | Fix the dead lagging the server | William Blake Galbreath | | diff --git a/Tuinity b/Tuinity index 763aa6cc..27084eb4 160000 --- a/Tuinity +++ b/Tuinity @@ -1 +1 @@ -Subproject commit 763aa6cc58a8669eebd9317a859d420e9f2784aa +Subproject commit 27084eb4e94ec5ded0433a32ca903c32eaca2e7f diff --git a/patches/server/0001-Yatopia-Server-Fixes.patch b/patches/server/0001-Yatopia-Server-Fixes.patch index aa65fb9d..489adfb4 100644 --- a/patches/server/0001-Yatopia-Server-Fixes.patch +++ b/patches/server/0001-Yatopia-Server-Fixes.patch @@ -884,7 +884,7 @@ index 47a9acd713e774f141d718067d654f6b7ca10856..00000000000000000000000000000000 - // CraftBukkit end - } diff --git a/src/main/java/net/minecraft/server/EntityEnderCrystal.java b/src/main/java/net/minecraft/server/EntityEnderCrystal.java -index f726a3585f8c3006bed86c45881a3e88899a53ca..15ab07c87ac050a7696941847a4f9029b29cb5cc 100644 +index 1942fae27051af79b6eb1d790a219da100bf889e..edad9669c67cab0df88947fa86b467c26deaa5f0 100644 --- a/src/main/java/net/minecraft/server/EntityEnderCrystal.java +++ b/src/main/java/net/minecraft/server/EntityEnderCrystal.java @@ -63,7 +63,7 @@ public class EntityEnderCrystal extends Entity { @@ -3068,7 +3068,7 @@ index b70c247b2994e5f1a0aa1b39c627a55c4ddbea01..00000000000000000000000000000000 - public boolean villagerUseBrainTicksOnlyWhenLagging = true; - public boolean villagerCanBeLeashed = false; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 624dd7632b9fcc1f60174b0dd82ed42dcf345bd1..68e35eb90a831c6e78c8545915385ecf93c041b3 100644 +index 0a4acfe46a26ef6b66d0489273376538c6343480..0d148d3be8b1df52e7989bbc98e476942038e0a2 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -835,6 +835,8 @@ public final class CraftServer implements Server { @@ -3089,7 +3089,7 @@ index 624dd7632b9fcc1f60174b0dd82ed42dcf345bd1..68e35eb90a831c6e78c8545915385ecf } Plugin[] pluginClone = pluginManager.getPlugins().clone(); // Paper -@@ -2249,6 +2253,19 @@ public final class CraftServer implements Server { +@@ -2247,6 +2251,19 @@ public final class CraftServer implements Server { } // Purpur end @@ -3109,7 +3109,7 @@ index 624dd7632b9fcc1f60174b0dd82ed42dcf345bd1..68e35eb90a831c6e78c8545915385ecf @Override public void restart() { org.spigotmc.RestartCommand.restart(); -@@ -2388,4 +2405,11 @@ public final class CraftServer implements Server { +@@ -2386,4 +2403,11 @@ public final class CraftServer implements Server { return mobGoals; } // Paper end diff --git a/patches/server/0003-Brandings.patch b/patches/server/0003-Brandings.patch index 48b97e03..17047f61 100644 --- a/patches/server/0003-Brandings.patch +++ b/patches/server/0003-Brandings.patch @@ -133,7 +133,7 @@ index 59c31dbb4681983bbf9391805b894a6f6972ffc4..11c4e4dd5e1b20ec0aed0e46aab29605 public CrashReport b(CrashReport crashreport) { diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 68e35eb90a831c6e78c8545915385ecf93c041b3..28006de141476819f8b31c346435ce29e5076c73 100644 +index 0d148d3be8b1df52e7989bbc98e476942038e0a2..5219441e22aa126f2640e863d2381ed12fbb5691 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -216,7 +216,7 @@ import javax.annotation.Nullable; // Paper diff --git a/patches/server/0005-Add-getLastTickMs-api.patch b/patches/server/0005-Add-getLastTickMs-api.patch index c9664d6f..7e45b65d 100644 --- a/patches/server/0005-Add-getLastTickMs-api.patch +++ b/patches/server/0005-Add-getLastTickMs-api.patch @@ -28,10 +28,10 @@ index 11c4e4dd5e1b20ec0aed0e46aab29605f9fa23e2..b3eafb5ed35c8534a0e419eb184fc262 this.X = true; // Purpur start - tps catchup diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index 28006de141476819f8b31c346435ce29e5076c73..a46b8ae673405b5838e5aa5ec8cf8c950fc05c53 100644 +index 5219441e22aa126f2640e863d2381ed12fbb5691..7feb7933d56af0e58605c6eecb4ffb723ec8df0d 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -@@ -2412,4 +2412,11 @@ public final class CraftServer implements Server { +@@ -2410,4 +2410,11 @@ public final class CraftServer implements Server { return getServer().lagging; } // Purpur end diff --git a/patches/server/0006-Add-config-Yatopia-command-and-basic-settings.patch b/patches/server/0006-Add-config-Yatopia-command-and-basic-settings.patch index 969c6730..850c9d62 100644 --- a/patches/server/0006-Add-config-Yatopia-command-and-basic-settings.patch +++ b/patches/server/0006-Add-config-Yatopia-command-and-basic-settings.patch @@ -423,7 +423,7 @@ index f24f7f1230a380f46112e886fb5dff7c33edb2ce..88f4c30a03e9139b0284ff1a545ad809 if (this.isFireProof() || this.world.isClientSide) { this.extinguish(); diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index a46b8ae673405b5838e5aa5ec8cf8c950fc05c53..946c00b34bfacf4482cc0447f711f5b6d281235d 100644 +index 7feb7933d56af0e58605c6eecb4ffb723ec8df0d..ea10950bfa54966d93f578a692388d8c92728c61 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -837,6 +837,7 @@ public final class CraftServer implements Server { @@ -434,7 +434,7 @@ index a46b8ae673405b5838e5aa5ec8cf8c950fc05c53..946c00b34bfacf4482cc0447f711f5b6 for (WorldServer world : console.getWorlds()) { world.worldDataServer.setDifficulty(config.difficulty); world.setSpawnFlags(config.spawnMonsters, config.spawnAnimals); -@@ -2266,6 +2267,13 @@ public final class CraftServer implements Server { +@@ -2264,6 +2265,13 @@ public final class CraftServer implements Server { } // Origami end diff --git a/patches/server/0036-Fix-MC-197616.patch b/patches/server/0036-Fix-MC-197616.patch new file mode 100644 index 00000000..a0dba068 --- /dev/null +++ b/patches/server/0036-Fix-MC-197616.patch @@ -0,0 +1,18 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ivan Pekov +Date: Tue, 18 Aug 2020 07:53:25 +0300 +Subject: [PATCH] Fix MC-197616 + + +diff --git a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +index 72fdbf1534b65284ac8020dcc15fe1512766d087..e4f3157265df8208e6ef4ecf630e073f69cd9a38 100644 +--- a/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java ++++ b/src/main/java/net/minecraft/server/PacketPlayOutMapChunk.java +@@ -175,6 +175,7 @@ public class PacketPlayOutMapChunk implements Packet { + packetdataserializer.d(this.c); + packetdataserializer.a(this.d); + if (this.e != null) { ++ for (int i = 0; i < e.length; i++) { if (e[i] < 0) e[i] = 0; } // Yatopia + packetdataserializer.a(this.e); + } + diff --git a/patches/server/0037-Don-t-obfuscate-air.patch b/patches/server/0037-Don-t-obfuscate-air.patch new file mode 100644 index 00000000..19df5bc7 --- /dev/null +++ b/patches/server/0037-Don-t-obfuscate-air.patch @@ -0,0 +1,20 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ivan Pekov +Date: Tue, 18 Aug 2020 07:55:21 +0300 +Subject: [PATCH] Don't obfuscate air + +Thanks stonar96 + +diff --git a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java +index 5a69dde15f88ac051d25eaec4e07d1b030319c48..4f9bebb666fd3b31ee7c1c52666f34ede0fe42ec 100644 +--- a/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java ++++ b/src/main/java/com/destroystokyo/paper/antixray/ChunkPacketBlockControllerAntiXray.java +@@ -82,7 +82,7 @@ public final class ChunkPacketBlockControllerAntiXray extends ChunkPacketBlockCo + for (String id : toObfuscate) { + Block block = IRegistry.BLOCK.getOptional(new MinecraftKey(id)).orElse(null); + +- if (block != null) { ++ if (block != null && !block.getBlockData().isAir()) { // Yatopia - don't obfuscate air - causes unnecessary block updates to fail in the void + obfuscateGlobal[ChunkSection.GLOBAL_PALETTE.getOrCreateIdFor(block.getBlockData())] = true; + } + }