From 4e81c1fe78513b07b9a97cd1b62983e40409989d Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Wed, 24 Nov 2021 13:30:55 +0100 Subject: [PATCH] More more more more more more more more more more more more work --- ...ioritise-own-classes-where-possible.patch} | 2 +- ...a-useful-PluginClassLoader-toString.patch} | 0 ...older-method-without-block-snapshot.patch} | 0 .../0209-Expose-Arrow-getItemStack.patch} | 0 ...implement-PlayerRecipeBookClickEvent.patch | 0 ...orldBorder-collision-checks-and-air.patch} | 0 ...sing-chunks-due-to-integer-overflow.patch} | 4 ++-- ...r-runTaskTimerAsynchronously-Plugin.patch} | 0 ...ton-physics-inconsistency-MC-188840.patch} | 10 ++++----- .../0437-Fix-sand-duping.patch} | 8 +++---- ...desync-in-playerconnection-causing-.patch} | 4 ++-- ...older-method-without-block-snapshot.patch} | 0 .../0440-Expose-Arrow-getItemStack.patch} | 0 ...mplement-PlayerRecipeBookClickEvent.patch} | 4 ++-- ...-Hide-sync-chunk-writes-behind-flag.patch} | 8 +++---- ...3-Add-permission-for-command-blocks.patch} | 16 +++++++------- ...ure-Entity-AABB-s-are-never-invalid.patch} | 8 +++---- ...d-Difficulty-Remembering-Difficulty.patch} | 22 +++++++++---------- .../0447-Paper-dumpitem-command.patch} | 0 ...48-Don-t-allow-null-UUID-s-for-chat.patch} | 4 ++-- ...Legacy-Component-serialization-size.patch} | 0 todo.txt | 1 + 22 files changed, 46 insertions(+), 45 deletions(-) rename patches/{unapplied/api/0207-Prioritise-own-classes-where-possible.patch => api/0206-Prioritise-own-classes-where-possible.patch} (98%) rename patches/{unapplied/api/0208-Provide-a-useful-PluginClassLoader-toString.patch => api/0207-Provide-a-useful-PluginClassLoader-toString.patch} (100%) rename patches/{unapplied/api/0209-Inventory-getHolder-method-without-block-snapshot.patch => api/0208-Inventory-getHolder-method-without-block-snapshot.patch} (100%) rename patches/{unapplied/api/0210-Expose-Arrow-getItemStack.patch => api/0209-Expose-Arrow-getItemStack.patch} (100%) rename patches/{unapplied => }/api/0211-Add-and-implement-PlayerRecipeBookClickEvent.patch (100%) rename patches/{unapplied/server/0467-Optimize-WorldBorder-collision-checks-and-air.patch => removed/1.18/0445-Optimize-WorldBorder-collision-checks-and-air.patch} (100%) rename patches/{unapplied/server/0456-Fix-missing-chunks-due-to-integer-overflow.patch => server/0434-Fix-missing-chunks-due-to-integer-overflow.patch} (89%) rename patches/{unapplied/server/0457-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch => server/0435-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch} (100%) rename patches/{unapplied/server/0458-Fix-piston-physics-inconsistency-MC-188840.patch => server/0436-Fix-piston-physics-inconsistency-MC-188840.patch} (93%) rename patches/{unapplied/server/0459-Fix-sand-duping.patch => server/0437-Fix-sand-duping.patch} (82%) rename patches/{unapplied/server/0460-Prevent-position-desync-in-playerconnection-causing-.patch => server/0438-Prevent-position-desync-in-playerconnection-causing-.patch} (91%) rename patches/{unapplied/server/0461-Inventory-getHolder-method-without-block-snapshot.patch => server/0439-Inventory-getHolder-method-without-block-snapshot.patch} (100%) rename patches/{unapplied/server/0462-Expose-Arrow-getItemStack.patch => server/0440-Expose-Arrow-getItemStack.patch} (100%) rename patches/{unapplied/server/0463-Add-and-implement-PlayerRecipeBookClickEvent.patch => server/0441-Add-and-implement-PlayerRecipeBookClickEvent.patch} (92%) rename patches/{unapplied/server/0464-Hide-sync-chunk-writes-behind-flag.patch => server/0442-Hide-sync-chunk-writes-behind-flag.patch} (78%) rename patches/{unapplied/server/0465-Add-permission-for-command-blocks.patch => server/0443-Add-permission-for-command-blocks.patch} (90%) rename patches/{unapplied/server/0466-Ensure-Entity-AABB-s-are-never-invalid.patch => server/0444-Ensure-Entity-AABB-s-are-never-invalid.patch} (80%) rename patches/{unapplied/server/0468-Fix-Per-World-Difficulty-Remembering-Difficulty.patch => server/0446-Fix-Per-World-Difficulty-Remembering-Difficulty.patch} (89%) rename patches/{unapplied/server/0469-Paper-dumpitem-command.patch => server/0447-Paper-dumpitem-command.patch} (100%) rename patches/{unapplied/server/0470-Don-t-allow-null-UUID-s-for-chat.patch => server/0448-Don-t-allow-null-UUID-s-for-chat.patch} (84%) rename patches/{unapplied/server/0471-Improve-Legacy-Component-serialization-size.patch => server/0449-Improve-Legacy-Component-serialization-size.patch} (100%) diff --git a/patches/unapplied/api/0207-Prioritise-own-classes-where-possible.patch b/patches/api/0206-Prioritise-own-classes-where-possible.patch similarity index 98% rename from patches/unapplied/api/0207-Prioritise-own-classes-where-possible.patch rename to patches/api/0206-Prioritise-own-classes-where-possible.patch index 8b251555d5..70e30fe518 100644 --- a/patches/unapplied/api/0207-Prioritise-own-classes-where-possible.patch +++ b/patches/api/0206-Prioritise-own-classes-where-possible.patch @@ -25,7 +25,7 @@ The patch in general terms just loads the class in the plugin's jar before it starts looking elsewhere for it. diff --git a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java -index dfa44d9a0f0e270fddc4f30b845c2b0e23008033..80236a0934861902db7f15571d0d9b4902e70045 100644 +index 4397fed2b41e5ab444aa7e3c9b5d7dccc50f4e04..d2712f45dbcf26fabe8463d99f378bf422c66970 100644 --- a/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java +++ b/src/main/java/org/bukkit/plugin/java/JavaPluginLoader.java @@ -51,6 +51,7 @@ import org.yaml.snakeyaml.error.YAMLException; diff --git a/patches/unapplied/api/0208-Provide-a-useful-PluginClassLoader-toString.patch b/patches/api/0207-Provide-a-useful-PluginClassLoader-toString.patch similarity index 100% rename from patches/unapplied/api/0208-Provide-a-useful-PluginClassLoader-toString.patch rename to patches/api/0207-Provide-a-useful-PluginClassLoader-toString.patch diff --git a/patches/unapplied/api/0209-Inventory-getHolder-method-without-block-snapshot.patch b/patches/api/0208-Inventory-getHolder-method-without-block-snapshot.patch similarity index 100% rename from patches/unapplied/api/0209-Inventory-getHolder-method-without-block-snapshot.patch rename to patches/api/0208-Inventory-getHolder-method-without-block-snapshot.patch diff --git a/patches/unapplied/api/0210-Expose-Arrow-getItemStack.patch b/patches/api/0209-Expose-Arrow-getItemStack.patch similarity index 100% rename from patches/unapplied/api/0210-Expose-Arrow-getItemStack.patch rename to patches/api/0209-Expose-Arrow-getItemStack.patch diff --git a/patches/unapplied/api/0211-Add-and-implement-PlayerRecipeBookClickEvent.patch b/patches/api/0211-Add-and-implement-PlayerRecipeBookClickEvent.patch similarity index 100% rename from patches/unapplied/api/0211-Add-and-implement-PlayerRecipeBookClickEvent.patch rename to patches/api/0211-Add-and-implement-PlayerRecipeBookClickEvent.patch diff --git a/patches/unapplied/server/0467-Optimize-WorldBorder-collision-checks-and-air.patch b/patches/removed/1.18/0445-Optimize-WorldBorder-collision-checks-and-air.patch similarity index 100% rename from patches/unapplied/server/0467-Optimize-WorldBorder-collision-checks-and-air.patch rename to patches/removed/1.18/0445-Optimize-WorldBorder-collision-checks-and-air.patch diff --git a/patches/unapplied/server/0456-Fix-missing-chunks-due-to-integer-overflow.patch b/patches/server/0434-Fix-missing-chunks-due-to-integer-overflow.patch similarity index 89% rename from patches/unapplied/server/0456-Fix-missing-chunks-due-to-integer-overflow.patch rename to patches/server/0434-Fix-missing-chunks-due-to-integer-overflow.patch index 0cfdc16188..d2f7884b38 100644 --- a/patches/unapplied/server/0456-Fix-missing-chunks-due-to-integer-overflow.patch +++ b/patches/server/0434-Fix-missing-chunks-due-to-integer-overflow.patch @@ -13,10 +13,10 @@ The fix for the issue is quite simple, casting chunk coordinates to longs allows the distance calculation to avoid overflow and work as intended. diff --git a/src/main/java/net/minecraft/world/level/biome/TheEndBiomeSource.java b/src/main/java/net/minecraft/world/level/biome/TheEndBiomeSource.java -index 7f7b0c961a76119b6004da03fe01ff4e2ae41628..9a64ab092ac8616ed8b9ea5c1e8677dda5c4333c 100644 +index 9a704c45f1afa82ff8d9ee3fa1e2437c1d4ec875..d090bdc063480ee6e28b0d60447ebe4063e6d688 100644 --- a/src/main/java/net/minecraft/world/level/biome/TheEndBiomeSource.java +++ b/src/main/java/net/minecraft/world/level/biome/TheEndBiomeSource.java -@@ -84,7 +84,7 @@ public class TheEndBiomeSource extends BiomeSource { +@@ -85,7 +85,7 @@ public class TheEndBiomeSource extends BiomeSource { int l = j / 2; int m = i % 2; int n = j % 2; diff --git a/patches/unapplied/server/0457-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch b/patches/server/0435-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch similarity index 100% rename from patches/unapplied/server/0457-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch rename to patches/server/0435-Fix-CraftScheduler-runTaskTimerAsynchronously-Plugin.patch diff --git a/patches/unapplied/server/0458-Fix-piston-physics-inconsistency-MC-188840.patch b/patches/server/0436-Fix-piston-physics-inconsistency-MC-188840.patch similarity index 93% rename from patches/unapplied/server/0458-Fix-piston-physics-inconsistency-MC-188840.patch rename to patches/server/0436-Fix-piston-physics-inconsistency-MC-188840.patch index 98980618db..2c6122ee57 100644 --- a/patches/unapplied/server/0458-Fix-piston-physics-inconsistency-MC-188840.patch +++ b/patches/server/0436-Fix-piston-physics-inconsistency-MC-188840.patch @@ -32,10 +32,10 @@ This patch fixes https://bugs.mojang.com/browse/MC-188840 This patch also fixes rail duping and carpet duping. diff --git a/src/main/java/com/destroystokyo/paper/PaperConfig.java b/src/main/java/com/destroystokyo/paper/PaperConfig.java -index 31e127151d2a046bf1652a909bc3ea64f95f2d1f..db2aa6998ab7d2786bb455401f653eec724d53ba 100644 +index 374cb5a2fb8c44b7d914beff5688cf36fc08640c..ebbbffd209c6796bc608992e293035141a122d1f 100644 --- a/src/main/java/com/destroystokyo/paper/PaperConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperConfig.java -@@ -457,4 +457,12 @@ public class PaperConfig { +@@ -450,4 +450,12 @@ public class PaperConfig { private static void consoleHasAllPermissions() { consoleHasAllPermissions = getBoolean("settings.console-has-all-permissions", consoleHasAllPermissions); } @@ -49,10 +49,10 @@ index 31e127151d2a046bf1652a909bc3ea64f95f2d1f..db2aa6998ab7d2786bb455401f653eec + } diff --git a/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java b/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java -index 4eac07022a7d896ee8921afa6d35cba7f0c89941..dd50a29d47a62df8cdfd69358218d1559b6794ef 100644 +index e9b315fb5a7b466e2ac65ae4ae69e893dd992739..da9ae487799e58b196ebf219a62020d0c28adc70 100644 --- a/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java +++ b/src/main/java/net/minecraft/world/level/block/piston/PistonBaseBlock.java -@@ -411,14 +411,26 @@ public class PistonBaseBlock extends DirectionalBlock { +@@ -410,14 +410,26 @@ public class PistonBaseBlock extends DirectionalBlock { } for (k = list.size() - 1; k >= 0; --k) { @@ -83,7 +83,7 @@ index 4eac07022a7d896ee8921afa6d35cba7f0c89941..dd50a29d47a62df8cdfd69358218d155 } diff --git a/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java b/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java -index 54020a3f2b18c4f42008f5d5f4541ef1a1efbcd7..be4360cc580e3b92b76cdcf54265d5ac25d3d59b 100644 +index e2ea913f9e5ae2351f10e0ebedba89d2a6e62d96..15b709c73e1685cc903c121949a18b8aa7978a35 100644 --- a/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/piston/PistonMovingBlockEntity.java @@ -285,7 +285,7 @@ public class PistonMovingBlockEntity extends BlockEntity { diff --git a/patches/unapplied/server/0459-Fix-sand-duping.patch b/patches/server/0437-Fix-sand-duping.patch similarity index 82% rename from patches/unapplied/server/0459-Fix-sand-duping.patch rename to patches/server/0437-Fix-sand-duping.patch index dd7057e3d7..db38b47879 100644 --- a/patches/unapplied/server/0459-Fix-sand-duping.patch +++ b/patches/server/0437-Fix-sand-duping.patch @@ -7,10 +7,10 @@ If the falling block dies during teleportation (entity#move), then we need to detect that by placing a check after the move. diff --git a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -index 69f385c57f3716a489781debb32b4adf1cb9383d..15ec064cb9336924e16a7c9b3f76a9b6ef18d947 100644 +index a8a9cbcece45c3480120cb2fa0fa03523a87d317..e74a87336b47611fa29df4cd3d272fb08b91630b 100644 --- a/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java +++ b/src/main/java/net/minecraft/world/entity/item/FallingBlockEntity.java -@@ -106,6 +106,11 @@ public class FallingBlockEntity extends Entity { +@@ -110,6 +110,11 @@ public class FallingBlockEntity extends Entity { @Override public void tick() { @@ -21,8 +21,8 @@ index 69f385c57f3716a489781debb32b4adf1cb9383d..15ec064cb9336924e16a7c9b3f76a9b6 + // Paper end - fix sand duping if (this.blockState.isAir()) { this.discard(); - } else { -@@ -128,6 +133,12 @@ public class FallingBlockEntity extends Entity { + } else if (this.level.isClientSide && this.removeAtMillis > 0L) { +@@ -137,6 +142,12 @@ public class FallingBlockEntity extends Entity { this.move(MoverType.SELF, this.getDeltaMovement()); diff --git a/patches/unapplied/server/0460-Prevent-position-desync-in-playerconnection-causing-.patch b/patches/server/0438-Prevent-position-desync-in-playerconnection-causing-.patch similarity index 91% rename from patches/unapplied/server/0460-Prevent-position-desync-in-playerconnection-causing-.patch rename to patches/server/0438-Prevent-position-desync-in-playerconnection-causing-.patch index ebae03640a..3cd6a724c6 100644 --- a/patches/unapplied/server/0460-Prevent-position-desync-in-playerconnection-causing-.patch +++ b/patches/server/0438-Prevent-position-desync-in-playerconnection-causing-.patch @@ -14,10 +14,10 @@ behaviour, we need to move all of this dangerous logic outside of the move call and into an appropriate place in the tick method. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index fa291673ab392af499c38d0a3b31bbdb664a3a68..6ed7a2cd6a18ffb925e511045d5e0a6c5b45d2de 100644 +index bb1244d895c6e5fd668b5a01f507624fdac847f0..fec9551ef74c17be417a326847cc20b0ad54076b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1325,6 +1325,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1324,6 +1324,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser this.player.move(MoverType.PLAYER, new Vec3(d7, d8, d9)); this.player.setOnGround(packet.isOnGround()); // CraftBukkit - SPIGOT-5810, SPIGOT-5835: reset by this.player.move diff --git a/patches/unapplied/server/0461-Inventory-getHolder-method-without-block-snapshot.patch b/patches/server/0439-Inventory-getHolder-method-without-block-snapshot.patch similarity index 100% rename from patches/unapplied/server/0461-Inventory-getHolder-method-without-block-snapshot.patch rename to patches/server/0439-Inventory-getHolder-method-without-block-snapshot.patch diff --git a/patches/unapplied/server/0462-Expose-Arrow-getItemStack.patch b/patches/server/0440-Expose-Arrow-getItemStack.patch similarity index 100% rename from patches/unapplied/server/0462-Expose-Arrow-getItemStack.patch rename to patches/server/0440-Expose-Arrow-getItemStack.patch diff --git a/patches/unapplied/server/0463-Add-and-implement-PlayerRecipeBookClickEvent.patch b/patches/server/0441-Add-and-implement-PlayerRecipeBookClickEvent.patch similarity index 92% rename from patches/unapplied/server/0463-Add-and-implement-PlayerRecipeBookClickEvent.patch rename to patches/server/0441-Add-and-implement-PlayerRecipeBookClickEvent.patch index 3fd4febeea..bc05c6333c 100644 --- a/patches/unapplied/server/0463-Add-and-implement-PlayerRecipeBookClickEvent.patch +++ b/patches/server/0441-Add-and-implement-PlayerRecipeBookClickEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add and implement PlayerRecipeBookClickEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6ed7a2cd6a18ffb925e511045d5e0a6c5b45d2de..bdc3402648d85b435ae4feb3c7aaf1af5ef476fa 100644 +index fec9551ef74c17be417a326847cc20b0ad54076b..31d99592c06da5c7eb0738210128509870d44d75 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2763,9 +2763,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2773,9 +2773,14 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); this.player.resetLastActionTime(); if (!this.player.isSpectator() && this.player.containerMenu.containerId == packet.getContainerId() && this.player.containerMenu instanceof RecipeBookMenu) { diff --git a/patches/unapplied/server/0464-Hide-sync-chunk-writes-behind-flag.patch b/patches/server/0442-Hide-sync-chunk-writes-behind-flag.patch similarity index 78% rename from patches/unapplied/server/0464-Hide-sync-chunk-writes-behind-flag.patch rename to patches/server/0442-Hide-sync-chunk-writes-behind-flag.patch index 71a50c1e91..9f93092cb4 100644 --- a/patches/unapplied/server/0464-Hide-sync-chunk-writes-behind-flag.patch +++ b/patches/server/0442-Hide-sync-chunk-writes-behind-flag.patch @@ -9,15 +9,15 @@ on harddrives. -DPaper.enable-sync-chunk-writes=true to enable diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java -index 12e55aabf0daf341ec74688e79c43451e820e6dc..0544ac93513d3a274bfb53bb6120bd598f4d603b 100644 +index 07fd3da4de300f80516961ae22700dbc741e81dc..f944e6beafc7876ed9c6923a22f58d82967b77cb 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServerProperties.java -@@ -108,7 +108,7 @@ public class DedicatedServerProperties extends Settings { - return Mth.clamp(integer, 1, 29999984); + return Mth.clamp(integer, (int) 1, 29999984); }, 29999984); - this.syncChunkWrites = this.get("sync-chunk-writes", true); + this.syncChunkWrites = this.get("sync-chunk-writes", true) && Boolean.getBoolean("Paper.enable-sync-chunk-writes"); // Paper - hide behind flag this.enableJmxMonitoring = this.get("enable-jmx-monitoring", false); this.enableStatus = this.get("enable-status", true); - this.entityBroadcastRangePercentage = this.get("entity-broadcast-range-percentage", (integer) -> { + this.hideOnlinePlayers = this.get("hide-online-players", false); diff --git a/patches/unapplied/server/0465-Add-permission-for-command-blocks.patch b/patches/server/0443-Add-permission-for-command-blocks.patch similarity index 90% rename from patches/unapplied/server/0465-Add-permission-for-command-blocks.patch rename to patches/server/0443-Add-permission-for-command-blocks.patch index 85ced8804f..ac6e27327a 100644 --- a/patches/unapplied/server/0465-Add-permission-for-command-blocks.patch +++ b/patches/server/0443-Add-permission-for-command-blocks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for command blocks diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 31e3534d6e15f91d781fabb0670e53ef66cb8977..784e6c2db5bb346408948cff8ac3cc9b964dd6d8 100644 +index 44e5ab0b545de41b937c7ce304ce643f78a43734..f087f48ad9e0b28d9874f3a9c1e3988ce6b60d87 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -392,7 +392,7 @@ public class ServerPlayerGameMode { +@@ -389,7 +389,7 @@ public class ServerPlayerGameMode { BlockEntity tileentity = this.level.getBlockEntity(pos); Block block = iblockdata.getBlock(); @@ -16,12 +16,12 @@ index 31e3534d6e15f91d781fabb0670e53ef66cb8977..784e6c2db5bb346408948cff8ac3cc9b + if (block instanceof GameMasterBlock && !this.player.canUseGameMasterBlocks() && !(block instanceof net.minecraft.world.level.block.CommandBlock && (this.player.isCreative() && this.player.getBukkitEntity().hasPermission("minecraft.commandblock")))) { // Paper - command block permission this.level.sendBlockUpdated(pos, iblockdata, iblockdata, 3); return false; - } else if (this.player.blockActionRestricted((Level) this.level, pos, this.gameModeForPlayer)) { + } else if (this.player.blockActionRestricted(this.level, pos, this.gameModeForPlayer)) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index bdc3402648d85b435ae4feb3c7aaf1af5ef476fa..7bd2a88de8eaf9d72d9424a39d5df2600bed7e58 100644 +index 31d99592c06da5c7eb0738210128509870d44d75..dd29bad410ff74ce3f1f94bc60560cf10b12375f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -787,7 +787,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -786,7 +786,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (!this.server.isCommandBlockEnabled()) { this.player.sendMessage(new TranslatableComponent("advMode.notEnabled"), Util.NIL_UUID); @@ -30,7 +30,7 @@ index bdc3402648d85b435ae4feb3c7aaf1af5ef476fa..7bd2a88de8eaf9d72d9424a39d5df260 this.player.sendMessage(new TranslatableComponent("advMode.notAllowed"), Util.NIL_UUID); } else { BaseCommandBlock commandblocklistenerabstract = null; -@@ -854,7 +854,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -853,7 +853,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser PacketUtils.ensureRunningOnSameThread(packet, this, this.player.getLevel()); if (!this.server.isCommandBlockEnabled()) { this.player.sendMessage(new TranslatableComponent("advMode.notEnabled"), Util.NIL_UUID); @@ -53,10 +53,10 @@ index 2e6172930526efc536a214e420e690a5ea42ac3e..a71cd95291e593a54c66f5672554f91b } else { if (player.getCommandSenderWorld().isClientSide) { diff --git a/src/main/java/net/minecraft/world/level/block/CommandBlock.java b/src/main/java/net/minecraft/world/level/block/CommandBlock.java -index 363ad038e6c2edc675ded828c7800852d1b0668a..fd73e9100feac8c7bf9a5fee21a0ab2d502dc3e0 100644 +index 324d544355215804ed0b06bf931883d81e550ed8..135f37f79d1463896e47679e1d13e123b78f97c9 100644 --- a/src/main/java/net/minecraft/world/level/block/CommandBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CommandBlock.java -@@ -129,7 +129,7 @@ public class CommandBlock extends BaseEntityBlock implements GameMasterBlock { +@@ -130,7 +130,7 @@ public class CommandBlock extends BaseEntityBlock implements GameMasterBlock { public InteractionResult use(BlockState state, Level world, BlockPos pos, Player player, InteractionHand hand, BlockHitResult hit) { BlockEntity tileentity = world.getBlockEntity(pos); diff --git a/patches/unapplied/server/0466-Ensure-Entity-AABB-s-are-never-invalid.patch b/patches/server/0444-Ensure-Entity-AABB-s-are-never-invalid.patch similarity index 80% rename from patches/unapplied/server/0466-Ensure-Entity-AABB-s-are-never-invalid.patch rename to patches/server/0444-Ensure-Entity-AABB-s-are-never-invalid.patch index 8d20d86499..72d5fa35d4 100644 --- a/patches/unapplied/server/0466-Ensure-Entity-AABB-s-are-never-invalid.patch +++ b/patches/server/0444-Ensure-Entity-AABB-s-are-never-invalid.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Ensure Entity AABB's are never invalid diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ee461f8da2663acc45896a9ae418c2f2129e3319..890502222191ce1ab5a598bf040fc462fc915e31 100644 +index 640ea4522419fe90a0a390c2cf0379aab8d060b2..4c506e2bf241ba9d6dd53b54def09be09303664b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -584,8 +584,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -555,8 +555,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } public void setPos(double x, double y, double z) { @@ -19,7 +19,7 @@ index ee461f8da2663acc45896a9ae418c2f2129e3319..890502222191ce1ab5a598bf040fc462 } protected AABB makeBoundingBox() { -@@ -3766,6 +3766,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -3770,6 +3770,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } public final void setPosRaw(double x, double y, double z) { @@ -31,7 +31,7 @@ index ee461f8da2663acc45896a9ae418c2f2129e3319..890502222191ce1ab5a598bf040fc462 if (this.position.x != x || this.position.y != y || this.position.z != z) { this.position = new Vec3(x, y, z); int i = Mth.floor(x); -@@ -3784,6 +3789,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -3792,6 +3797,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i } } diff --git a/patches/unapplied/server/0468-Fix-Per-World-Difficulty-Remembering-Difficulty.patch b/patches/server/0446-Fix-Per-World-Difficulty-Remembering-Difficulty.patch similarity index 89% rename from patches/unapplied/server/0468-Fix-Per-World-Difficulty-Remembering-Difficulty.patch rename to patches/server/0446-Fix-Per-World-Difficulty-Remembering-Difficulty.patch index fdda158be5..9234b108ea 100644 --- a/patches/unapplied/server/0468-Fix-Per-World-Difficulty-Remembering-Difficulty.patch +++ b/patches/server/0446-Fix-Per-World-Difficulty-Remembering-Difficulty.patch @@ -8,19 +8,19 @@ makes it so that the server keeps the last difficulty used instead of restoring the server.properties every single load. diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index f07dd72d2ba1b3e1d30dab5973ca3785ea517471..f37e55afee9486ec1884461a0a2b89f5204e7d00 100644 +index 22885b3d7931f2e439769cad39a37e8af3b3de54..f7a0976488732e41e197a3a77f20a937d44c7be3 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -857,7 +857,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { +@@ -19,7 +19,7 @@ public class ClientboundChatPacket implements Packet { public ClientboundChatPacket(Component message, ChatType location, UUID sender) { this.message = message; this.type = location; diff --git a/patches/unapplied/server/0471-Improve-Legacy-Component-serialization-size.patch b/patches/server/0449-Improve-Legacy-Component-serialization-size.patch similarity index 100% rename from patches/unapplied/server/0471-Improve-Legacy-Component-serialization-size.patch rename to patches/server/0449-Improve-Legacy-Component-serialization-size.patch diff --git a/todo.txt b/todo.txt index add4ec4078..fd43ae8e68 100644 --- a/todo.txt +++ b/todo.txt @@ -5,3 +5,4 @@ Make sure fluids aren't completly fucked, there may be more sync loads to nuke t Improve Server Thread Pool and Thread Priorities: mojang added a max thread count property Use Vanilla Minecart Speeds: is this needed? Handle Oversized Tile Entities: make sure impl is correct +0467-Optimize-WorldBorder-collision-checks-and-air check first hunk that has been removed