From c280dbeed0155d3d5ac33aee116a350dbe15f41a Mon Sep 17 00:00:00 2001 From: Jake Date: Wed, 24 Nov 2021 10:27:25 -0800 Subject: [PATCH] moar patches --- ...act-interaction-point-in-PlayerInte.patch} | 0 .../0257-Add-sendOpLevel-API.patch} | 0 .../0258-Add-StructureLocateEvent.patch} | 0 ...nent-with-empty-text-instead-of-thr.patch} | 0 .../0260-Add-BlockPreDispenseEvent.patch} | 0 ...0-Fix-Whitelist-On-Off-inconsistency.patch | 0 .../0345-Fix-MC-161754.patch | 0 ...ty-commands-shall-not-be-dispatched.patch} | 4 +-- ...I-to-expose-exact-interaction-point.patch} | 6 ++-- .../0568-Remove-stale-POIs.patch} | 6 ++-- .../0569-Fix-villager-boat-exploit.patch} | 7 ++-- .../0570-Add-sendOpLevel-API.patch} | 10 +++--- .../0571-Add-StructureLocateEvent.patch} | 24 +++++-------- ...-for-requiring-a-player-participant.patch} | 36 ++++++------------- ...leHitEvent-call-when-fireballs-dead.patch} | 2 +- ...nent-with-empty-text-instead-of-thr.patch} | 2 +- ...575-Make-schedule-command-per-world.patch} | 6 ++-- ...576-Configurable-max-leash-distance.patch} | 10 +++--- ...577-Implement-BlockPreDispenseEvent.patch} | 6 ++-- 19 files changed, 47 insertions(+), 72 deletions(-) rename patches/{unapplied/api/0259-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch => api/0256-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch} (100%) rename patches/{unapplied/api/0260-Add-sendOpLevel-API.patch => api/0257-Add-sendOpLevel-API.patch} (100%) rename patches/{unapplied/api/0261-Add-StructureLocateEvent.patch => api/0258-Add-StructureLocateEvent.patch} (100%) rename patches/{unapplied/api/0262-Return-chat-component-with-empty-text-instead-of-thr.patch => api/0259-Return-chat-component-with-empty-text-instead-of-thr.patch} (100%) rename patches/{unapplied/api/0263-Add-BlockPreDispenseEvent.patch => api/0260-Add-BlockPreDispenseEvent.patch} (100%) rename patches/removed/1.18/{ => No longer needed}/0312-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch (100%) rename patches/removed/1.18/{ => No longer needed}/0345-Fix-MC-161754.patch (100%) rename patches/{unapplied/server/0594-Empty-commands-shall-not-be-dispatched.patch => server/0566-Empty-commands-shall-not-be-dispatched.patch} (84%) rename patches/{unapplied/server/0595-Implement-API-to-expose-exact-interaction-point.patch => server/0567-Implement-API-to-expose-exact-interaction-point.patch} (93%) rename patches/{unapplied/server/0596-Remove-stale-POIs.patch => server/0568-Remove-stale-POIs.patch} (75%) rename patches/{unapplied/server/0597-Fix-villager-boat-exploit.patch => server/0569-Fix-villager-boat-exploit.patch} (78%) rename patches/{unapplied/server/0598-Add-sendOpLevel-API.patch => server/0570-Add-sendOpLevel-API.patch} (83%) rename patches/{unapplied/server/0599-Add-StructureLocateEvent.patch => server/0571-Add-StructureLocateEvent.patch} (59%) rename patches/{unapplied/server/0600-Collision-option-for-requiring-a-player-participant.patch => server/0572-Collision-option-for-requiring-a-player-participant.patch} (69%) rename patches/{unapplied/server/0601-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch => server/0573-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch} (92%) rename patches/{unapplied/server/0602-Return-chat-component-with-empty-text-instead-of-thr.patch => server/0574-Return-chat-component-with-empty-text-instead-of-thr.patch} (94%) rename patches/{unapplied/server/0603-Make-schedule-command-per-world.patch => server/0575-Make-schedule-command-per-world.patch} (89%) rename patches/{unapplied/server/0604-Configurable-max-leash-distance.patch => server/0576-Configurable-max-leash-distance.patch} (85%) rename patches/{unapplied/server/0605-Implement-BlockPreDispenseEvent.patch => server/0577-Implement-BlockPreDispenseEvent.patch} (89%) diff --git a/patches/unapplied/api/0259-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch b/patches/api/0256-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch similarity index 100% rename from patches/unapplied/api/0259-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch rename to patches/api/0256-Add-API-to-get-exact-interaction-point-in-PlayerInte.patch diff --git a/patches/unapplied/api/0260-Add-sendOpLevel-API.patch b/patches/api/0257-Add-sendOpLevel-API.patch similarity index 100% rename from patches/unapplied/api/0260-Add-sendOpLevel-API.patch rename to patches/api/0257-Add-sendOpLevel-API.patch diff --git a/patches/unapplied/api/0261-Add-StructureLocateEvent.patch b/patches/api/0258-Add-StructureLocateEvent.patch similarity index 100% rename from patches/unapplied/api/0261-Add-StructureLocateEvent.patch rename to patches/api/0258-Add-StructureLocateEvent.patch diff --git a/patches/unapplied/api/0262-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/api/0259-Return-chat-component-with-empty-text-instead-of-thr.patch similarity index 100% rename from patches/unapplied/api/0262-Return-chat-component-with-empty-text-instead-of-thr.patch rename to patches/api/0259-Return-chat-component-with-empty-text-instead-of-thr.patch diff --git a/patches/unapplied/api/0263-Add-BlockPreDispenseEvent.patch b/patches/api/0260-Add-BlockPreDispenseEvent.patch similarity index 100% rename from patches/unapplied/api/0263-Add-BlockPreDispenseEvent.patch rename to patches/api/0260-Add-BlockPreDispenseEvent.patch diff --git a/patches/removed/1.18/0312-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch b/patches/removed/1.18/No longer needed/0312-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch similarity index 100% rename from patches/removed/1.18/0312-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch rename to patches/removed/1.18/No longer needed/0312-MC-145260-Fix-Whitelist-On-Off-inconsistency.patch diff --git a/patches/removed/1.18/0345-Fix-MC-161754.patch b/patches/removed/1.18/No longer needed/0345-Fix-MC-161754.patch similarity index 100% rename from patches/removed/1.18/0345-Fix-MC-161754.patch rename to patches/removed/1.18/No longer needed/0345-Fix-MC-161754.patch diff --git a/patches/unapplied/server/0594-Empty-commands-shall-not-be-dispatched.patch b/patches/server/0566-Empty-commands-shall-not-be-dispatched.patch similarity index 84% rename from patches/unapplied/server/0594-Empty-commands-shall-not-be-dispatched.patch rename to patches/server/0566-Empty-commands-shall-not-be-dispatched.patch index 206f188b92..febba5dbe5 100644 --- a/patches/unapplied/server/0594-Empty-commands-shall-not-be-dispatched.patch +++ b/patches/server/0566-Empty-commands-shall-not-be-dispatched.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Empty commands shall not be dispatched diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 96a33f63024c1f72ab018e15904505832430002c..3270f96717d8096e5be669b6de1168d10921d19f 100644 +index 6624045921ef64046b375ec787cadda1e8c8435b..e4cb8f2b8602650e26c21a856ed0d8c2ea8f6c28 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -230,6 +230,7 @@ public class Commands { +@@ -239,6 +239,7 @@ public class Commands { command = event.getCommand(); String[] args = command.split(" "); diff --git a/patches/unapplied/server/0595-Implement-API-to-expose-exact-interaction-point.patch b/patches/server/0567-Implement-API-to-expose-exact-interaction-point.patch similarity index 93% rename from patches/unapplied/server/0595-Implement-API-to-expose-exact-interaction-point.patch rename to patches/server/0567-Implement-API-to-expose-exact-interaction-point.patch index 22825802a9..0ad2393212 100644 --- a/patches/unapplied/server/0595-Implement-API-to-expose-exact-interaction-point.patch +++ b/patches/server/0567-Implement-API-to-expose-exact-interaction-point.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement API to expose exact interaction point diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 0b274a5b9e0bf68769637f10e43dbff6d909512b..da2ae74b6f5875200e22c42ed07431016a90845e 100644 +index 2ac2100b6ae006ab490742424b682395e7513156..9fbd88027933242348d9f4fea8b45e96fd01c343 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -@@ -501,7 +501,7 @@ public class ServerPlayerGameMode { +@@ -497,7 +497,7 @@ public class ServerPlayerGameMode { cancelledBlock = true; } @@ -18,7 +18,7 @@ index 0b274a5b9e0bf68769637f10e43dbff6d909512b..da2ae74b6f5875200e22c42ed0743101 this.interactResult = event.useItemInHand() == Event.Result.DENY; this.interactPosition = blockposition.immutable(); diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 31445c2e888d3020c1cba01f208fd60e424fb173..70452799bb3436fdb11462f77097ee52d1139f0d 100644 +index fa46a33e34c4ebcf94a54cb597ff6bbb02cfcef9..419c5bd638230c31dd68ba37174c8057c0229a6a 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -56,7 +56,9 @@ import net.minecraft.world.level.storage.loot.parameters.LootContextParams; diff --git a/patches/unapplied/server/0596-Remove-stale-POIs.patch b/patches/server/0568-Remove-stale-POIs.patch similarity index 75% rename from patches/unapplied/server/0596-Remove-stale-POIs.patch rename to patches/server/0568-Remove-stale-POIs.patch index 504745e97c..2196624028 100644 --- a/patches/unapplied/server/0596-Remove-stale-POIs.patch +++ b/patches/server/0568-Remove-stale-POIs.patch @@ -5,15 +5,15 @@ Subject: [PATCH] Remove stale POIs diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index e404203a6f330131cab38f7861bff9676fe5c52c..ec583ee3b9e0ffed230f219283e384035e73828d 100644 +index bc57099ffc447a713b92896a1348728702ef51b2..24ff621292d04d241f432e3a43e9dca92a35be55 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1787,6 +1787,11 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1768,6 +1768,11 @@ public class ServerLevel extends Level implements WorldGenLevel { }); optional1.ifPresent((villageplacetype) -> { this.getServer().execute(() -> { + // Paper start -+ if (!optional.isPresent() && this.getPoiManager().exists(blockposition1, com.google.common.base.Predicates.alwaysTrue())) { ++ if (optional.isEmpty() && this.getPoiManager().exists(blockposition1, poiType -> true)) { + this.getPoiManager().remove(blockposition1); + } + // Paper end diff --git a/patches/unapplied/server/0597-Fix-villager-boat-exploit.patch b/patches/server/0569-Fix-villager-boat-exploit.patch similarity index 78% rename from patches/unapplied/server/0597-Fix-villager-boat-exploit.patch rename to patches/server/0569-Fix-villager-boat-exploit.patch index 9bad49e1ee..6921029fef 100644 --- a/patches/unapplied/server/0597-Fix-villager-boat-exploit.patch +++ b/patches/server/0569-Fix-villager-boat-exploit.patch @@ -5,16 +5,15 @@ Subject: [PATCH] Fix villager boat exploit diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 3e7c9716b6d05859e7d63d9c7b9616f80ae8e51a..6f6b0460516da49fa0d0b5dd0dcd554bb03b9fe3 100644 +index 1d7e5d0f155dd92015dcf287b8a21d0337fc2af7..1c150913d4752d51d51640e0a5cf6d67182356b7 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -622,6 +622,15 @@ public abstract class PlayerList { +@@ -619,6 +619,14 @@ public abstract class PlayerList { PlayerList.LOGGER.debug("Removing player mount"); entityplayer.stopRiding(); entity.getPassengersAndSelf().forEach((entity1) -> { + // Paper start -+ if (entity1 instanceof net.minecraft.world.entity.npc.AbstractVillager) { -+ final net.minecraft.world.entity.npc.AbstractVillager villager = (net.minecraft.world.entity.npc.AbstractVillager) entity1; ++ if (entity1 instanceof net.minecraft.world.entity.npc.AbstractVillager villager) { + final net.minecraft.world.entity.player.Player human = villager.getTradingPlayer(); + if (human != null) { + villager.setTradingPlayer(null); diff --git a/patches/unapplied/server/0598-Add-sendOpLevel-API.patch b/patches/server/0570-Add-sendOpLevel-API.patch similarity index 83% rename from patches/unapplied/server/0598-Add-sendOpLevel-API.patch rename to patches/server/0570-Add-sendOpLevel-API.patch index df6f3e50dd..cfb2eba9ff 100644 --- a/patches/unapplied/server/0598-Add-sendOpLevel-API.patch +++ b/patches/server/0570-Add-sendOpLevel-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add sendOpLevel API diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 51ffb66caa5193bf9a2c0c8f389d1cdbeb45321c..de818e518ec3622ea02bc8426ef2ca306c79d55e 100644 +index 1c150913d4752d51d51640e0a5cf6d67182356b7..d300fc577a363e7884d1a176b6c282fe87008a8b 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1124,6 +1124,11 @@ public abstract class PlayerList { +@@ -1116,6 +1116,11 @@ public abstract class PlayerList { } private void sendPlayerPermissionLevel(ServerPlayer player, int permissionLevel) { @@ -20,7 +20,7 @@ index 51ffb66caa5193bf9a2c0c8f389d1cdbeb45321c..de818e518ec3622ea02bc8426ef2ca30 if (player.connection != null) { byte b0; -@@ -1138,8 +1143,10 @@ public abstract class PlayerList { +@@ -1130,8 +1135,10 @@ public abstract class PlayerList { player.connection.send(new ClientboundEntityEventPacket(player, b0)); } @@ -32,10 +32,10 @@ index 51ffb66caa5193bf9a2c0c8f389d1cdbeb45321c..de818e518ec3622ea02bc8426ef2ca30 // Paper start diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 348bff6213939b9b98364dd971a3f5ef29aa6189..d6aac3063cfd70188ab5fe0f09ad112d66265953 100644 +index f4a94bc00a8318af810c3c859decbf88decfa98d..87ed5271d623f239c94d18464458469c8e789bba 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -553,6 +553,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -576,6 +576,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { ? (org.bukkit.entity.Firework) entity.getBukkitEntity() : null; } diff --git a/patches/unapplied/server/0599-Add-StructureLocateEvent.patch b/patches/server/0571-Add-StructureLocateEvent.patch similarity index 59% rename from patches/unapplied/server/0599-Add-StructureLocateEvent.patch rename to patches/server/0571-Add-StructureLocateEvent.patch index ce604f303c..ba28d11887 100644 --- a/patches/unapplied/server/0599-Add-StructureLocateEvent.patch +++ b/patches/server/0571-Add-StructureLocateEvent.patch @@ -5,25 +5,17 @@ Subject: [PATCH] Add StructureLocateEvent diff --git a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java -index 6fbfe7a61df0efd4d85a00f02096410a1d29e62f..fde436065aeeb47cd177656a7c9fe8dc34178e87 100644 +index 583b87b20490fd7254f5e966af3b6a627f53a7cb..13e789b3b7ea3be73ec73bb5357cb603da8d5e0d 100644 --- a/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java +++ b/src/main/java/net/minecraft/world/level/chunk/ChunkGenerator.java -@@ -2,6 +2,7 @@ package net.minecraft.world.level.chunk; - - import com.google.common.collect.Lists; - import com.mojang.serialization.Codec; -+import io.papermc.paper.event.world.StructureLocateEvent; // Paper - Add import due to naming conflict. - import java.util.BitSet; - import java.util.Iterator; - import java.util.List; -@@ -185,6 +186,20 @@ public abstract class ChunkGenerator { +@@ -183,6 +183,20 @@ public abstract class ChunkGenerator implements BiomeManager.NoiseBiomeSource { @Nullable - public BlockPos findNearestMapFeature(ServerLevel world, StructureFeature feature, BlockPos center, int radius, boolean skipExistingChunks) { + public BlockPos findNearestMapFeature(ServerLevel world, StructureFeature structureFeature, BlockPos center, int radius, boolean skipExistingChunks) { + // Paper start + org.bukkit.World world1 = world.getWorld(); + org.bukkit.Location originLocation = new org.bukkit.Location(world1, center.getX(), center.getY(), center.getZ()); -+ StructureLocateEvent event = new StructureLocateEvent(world1, originLocation, org.bukkit.StructureType.getStructureTypes().get(feature.getFeatureName()), radius, skipExistingChunks); ++ io.papermc.paper.event.world.StructureLocateEvent event = new io.papermc.paper.event.world.StructureLocateEvent(world1, originLocation, org.bukkit.StructureType.getStructureTypes().get(structureFeature.getFeatureName()), radius, skipExistingChunks); + if(!event.callEvent()) return null; + // If event call set a final location, skip structure finding and just return set result. + if(event.getResult() != null) return new BlockPos(event.getResult().getBlockX(), event.getResult().getBlockY(), event.getResult().getBlockZ()); @@ -32,8 +24,8 @@ index 6fbfe7a61df0efd4d85a00f02096410a1d29e62f..fde436065aeeb47cd177656a7c9fe8dc + // Get radius and whether to find unexplored structures (re)defined by event call. + radius = event.getRadius(); + skipExistingChunks = event.shouldFindUnexplored(); -+ feature = StructureFeature.STRUCTURES_REGISTRY.get(event.getType().getName()); ++ structureFeature = StructureFeature.STRUCTURES_REGISTRY.get(event.getType().getName()); + // Paper end - if (!this.biomeSource.canGenerateStructure(feature)) { - return null; - } else if (feature == StructureFeature.STRONGHOLD) { + if (structureFeature == StructureFeature.STRONGHOLD) { + this.generateStrongholds(); + BlockPos blockposition1 = null; diff --git a/patches/unapplied/server/0600-Collision-option-for-requiring-a-player-participant.patch b/patches/server/0572-Collision-option-for-requiring-a-player-participant.patch similarity index 69% rename from patches/unapplied/server/0600-Collision-option-for-requiring-a-player-participant.patch rename to patches/server/0572-Collision-option-for-requiring-a-player-participant.patch index 538bee5cd3..a7d76f831b 100644 --- a/patches/unapplied/server/0600-Collision-option-for-requiring-a-player-participant.patch +++ b/patches/server/0572-Collision-option-for-requiring-a-player-participant.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Collision option for requiring a player participant diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 2c67111621937d9649ac79d133c955d25bc50485..94c6d7013547d3a2a86aaf72aa485761d601acee 100644 +index 4d723f5327a64cd8257bab502ae59a35b4a35cc1..e8f5ad4925b4d02bf79f9f56d0dac3f0cc410e71 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -84,6 +84,18 @@ public class PaperWorldConfig { +@@ -82,6 +82,18 @@ public class PaperWorldConfig { } } @@ -28,10 +28,10 @@ index 2c67111621937d9649ac79d133c955d25bc50485..94c6d7013547d3a2a86aaf72aa485761 public int wanderingTraderSpawnDayTicks = 24000; public int wanderingTraderSpawnChanceFailureIncrement = 25; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 1db86fbfdc705c33948fb4c26be622616bcbdb12..392fa93b37cc79988c60b3215f69f5fff0ea97e5 100644 +index a6ef4b05daaa93ef333647cc00f8a708d466aaba..8725f949d643d21339caab19a914dc26eb515658 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -1632,6 +1632,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -1626,6 +1626,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, i public void push(Entity entity) { if (!this.isPassengerOfSameVehicle(entity)) { if (!entity.noPhysics && !this.noPhysics) { @@ -40,42 +40,26 @@ index 1db86fbfdc705c33948fb4c26be622616bcbdb12..392fa93b37cc79988c60b3215f69f5ff double d1 = entity.getZ() - this.getZ(); double d2 = Mth.absMax(d0, d1); diff --git a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -index 9653b142c199c068e4d6175bcd3cbecb6465853f..309bafd257d4932cfd69c2c212b32306938cd234 100644 +index 75cff07051d3b81d37926fb1da50af5ba27c34dc..ad49dcc3473fbad306d21cbac4600574e80220a7 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/AbstractMinecart.java -@@ -21,6 +21,7 @@ import net.minecraft.network.protocol.game.ClientboundAddEntityPacket; - import net.minecraft.network.syncher.EntityDataAccessor; - import net.minecraft.network.syncher.EntityDataSerializers; - import net.minecraft.network.syncher.SynchedEntityData; -+import net.minecraft.server.level.ServerPlayer; - import net.minecraft.tags.BlockTags; - import net.minecraft.tags.Tag; - import net.minecraft.util.Mth; -@@ -833,6 +834,7 @@ public abstract class AbstractMinecart extends Entity { +@@ -832,6 +832,7 @@ public abstract class AbstractMinecart extends Entity { public void push(Entity entity) { if (!this.level.isClientSide) { if (!entity.noPhysics && !this.noPhysics) { -+ if (!this.level.paperConfig.allowVehicleCollisions && this.level.paperConfig.onlyPlayersCollide && !(entity instanceof ServerPlayer)) return; // Paper ++ if (!this.level.paperConfig.allowVehicleCollisions && this.level.paperConfig.onlyPlayersCollide && !(entity instanceof Player)) return; // Paper if (!this.hasPassenger(entity)) { // CraftBukkit start VehicleEntityCollisionEvent collisionEvent = new VehicleEntityCollisionEvent((Vehicle) this.getBukkitEntity(), entity.getBukkitEntity()); diff --git a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -index a1b93f2878e22fa1d0cad639416d2dc5b8339c73..aa7c022c4faade23bd9061311d4152cf845d3331 100644 +index b4516094996c80886b8d7af599ba7c3d4229ba9d..c3d111204601270b57389e1f85456a9e2ada4629 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java -@@ -16,6 +16,7 @@ import net.minecraft.network.protocol.game.ServerboundPaddleBoatPacket; - import net.minecraft.network.syncher.EntityDataAccessor; - import net.minecraft.network.syncher.EntityDataSerializers; - import net.minecraft.network.syncher.SynchedEntityData; -+import net.minecraft.server.level.ServerPlayer; - import net.minecraft.sounds.SoundEvent; - import net.minecraft.sounds.SoundEvents; - import net.minecraft.tags.FluidTags; -@@ -240,6 +241,7 @@ public class Boat extends Entity { +@@ -240,6 +240,7 @@ public class Boat extends Entity { @Override public void push(Entity entity) { -+ if (!this.level.paperConfig.allowVehicleCollisions && this.level.paperConfig.onlyPlayersCollide && !(entity instanceof ServerPlayer)) return; // Paper ++ if (!this.level.paperConfig.allowVehicleCollisions && this.level.paperConfig.onlyPlayersCollide && !(entity instanceof Player)) return; // Paper if (entity instanceof Boat) { if (entity.getBoundingBox().minY < this.getBoundingBox().maxY) { // CraftBukkit start diff --git a/patches/unapplied/server/0601-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch b/patches/server/0573-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch similarity index 92% rename from patches/unapplied/server/0601-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch rename to patches/server/0573-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch index 8ce2f9276b..f6d7cce33f 100644 --- a/patches/unapplied/server/0601-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch +++ b/patches/server/0573-Remove-ProjectileHitEvent-call-when-fireballs-dead.patch @@ -7,7 +7,7 @@ The duplicate ProjectileHitEvent in EntityFireball was removed. The event was always called before the duplicate call. diff --git a/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java b/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java -index dd5209ab2e5b59312349e709392689f25da162c0..3a088afd8269606543ebc9fb2074eb70431fcd39 100644 +index 3370f4d331637bf13c7912218041f23872971e25..0dc335b3003ae3cf11828cc849763e271a3b365b 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java +++ b/src/main/java/net/minecraft/world/entity/projectile/AbstractHurtingProjectile.java @@ -97,7 +97,7 @@ public abstract class AbstractHurtingProjectile extends Projectile { diff --git a/patches/unapplied/server/0602-Return-chat-component-with-empty-text-instead-of-thr.patch b/patches/server/0574-Return-chat-component-with-empty-text-instead-of-thr.patch similarity index 94% rename from patches/unapplied/server/0602-Return-chat-component-with-empty-text-instead-of-thr.patch rename to patches/server/0574-Return-chat-component-with-empty-text-instead-of-thr.patch index 638baedf50..988a54be94 100644 --- a/patches/unapplied/server/0602-Return-chat-component-with-empty-text-instead-of-thr.patch +++ b/patches/server/0574-Return-chat-component-with-empty-text-instead-of-thr.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Return chat component with empty text instead of throwing diff --git a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java -index 83d9fe7d92a8cb46478964d0742d0103a937648c..ca05d8e5ff1b8caa07c0e4f3e203abd46d7a7ede 100644 +index 49ac1e922c0c3b38ed48adda46870e1fc0fb09dc..1f4d3a48553a467bcbd4799735d1950c9c2dbe23 100644 --- a/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java +++ b/src/main/java/net/minecraft/world/inventory/AbstractContainerMenu.java @@ -21,6 +21,7 @@ import net.minecraft.ReportedException; diff --git a/patches/unapplied/server/0603-Make-schedule-command-per-world.patch b/patches/server/0575-Make-schedule-command-per-world.patch similarity index 89% rename from patches/unapplied/server/0603-Make-schedule-command-per-world.patch rename to patches/server/0575-Make-schedule-command-per-world.patch index 29b047cfa5..4859bb69f5 100644 --- a/patches/unapplied/server/0603-Make-schedule-command-per-world.patch +++ b/patches/server/0575-Make-schedule-command-per-world.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Make schedule command per-world diff --git a/src/main/java/net/minecraft/server/commands/ScheduleCommand.java b/src/main/java/net/minecraft/server/commands/ScheduleCommand.java -index 3f2a4e2399759cdd5aebe0b87c9d72f50cf6a72d..fb1f94acb3e848fa2a21a258145f3b4cb42fe562 100644 +index 210df39e99bfe0f373cbdf7e0cd45ff1db9cd4aa..c0127908a954d3a40ca8829e3f1f63112212f261 100644 --- a/src/main/java/net/minecraft/server/commands/ScheduleCommand.java +++ b/src/main/java/net/minecraft/server/commands/ScheduleCommand.java -@@ -32,7 +32,7 @@ public class ScheduleCommand { +@@ -31,7 +31,7 @@ public class ScheduleCommand { return new TranslatableComponent("commands.schedule.cleared.failure", new Object[]{object}); }); private static final SuggestionProvider SUGGEST_SCHEDULE = (commandcontext, suggestionsbuilder) -> { @@ -17,7 +17,7 @@ index 3f2a4e2399759cdd5aebe0b87c9d72f50cf6a72d..fb1f94acb3e848fa2a21a258145f3b4c }; public ScheduleCommand() {} -@@ -83,7 +83,7 @@ public class ScheduleCommand { +@@ -82,7 +82,7 @@ public class ScheduleCommand { } private static int remove(CommandSourceStack source, String eventName) throws CommandSyntaxException { diff --git a/patches/unapplied/server/0604-Configurable-max-leash-distance.patch b/patches/server/0576-Configurable-max-leash-distance.patch similarity index 85% rename from patches/unapplied/server/0604-Configurable-max-leash-distance.patch rename to patches/server/0576-Configurable-max-leash-distance.patch index f557bcf8e0..324570f5a0 100644 --- a/patches/unapplied/server/0604-Configurable-max-leash-distance.patch +++ b/patches/server/0576-Configurable-max-leash-distance.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable max leash distance diff --git a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -index 94c6d7013547d3a2a86aaf72aa485761d601acee..cdaf146c11239858391cd899758c3d8f91b8806c 100644 +index e8f5ad4925b4d02bf79f9f56d0dac3f0cc410e71..6322748d2eabdf29a46c50166fad265b6c8053d5 100644 --- a/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java +++ b/src/main/java/com/destroystokyo/paper/PaperWorldConfig.java -@@ -305,6 +305,12 @@ public class PaperWorldConfig { +@@ -287,6 +287,12 @@ public class PaperWorldConfig { } } @@ -22,10 +22,10 @@ index 94c6d7013547d3a2a86aaf72aa485761d601acee..cdaf146c11239858391cd899758c3d8f private void disableEndCredits() { disableEndCredits = getBoolean("game-mechanics.disable-end-credits", false); diff --git a/src/main/java/net/minecraft/world/entity/PathfinderMob.java b/src/main/java/net/minecraft/world/entity/PathfinderMob.java -index 7c82d453388a27b69207d051dec316fc14715e2b..a884940cc576704951d42c6b0d00f5a319297c29 100644 +index d1ab31d03ae421e628448fe2492ff138dc57c00f..999d18610666ec442bb038da5c452e3cd77e7428 100644 --- a/src/main/java/net/minecraft/world/entity/PathfinderMob.java +++ b/src/main/java/net/minecraft/world/entity/PathfinderMob.java -@@ -46,7 +46,7 @@ public abstract class PathfinderMob extends Mob { +@@ -48,7 +48,7 @@ public abstract class PathfinderMob extends Mob { float f = this.distanceTo(entity); if (this instanceof TamableAnimal && ((TamableAnimal) this).isInSittingPose()) { @@ -34,7 +34,7 @@ index 7c82d453388a27b69207d051dec316fc14715e2b..a884940cc576704951d42c6b0d00f5a3 this.level.getCraftServer().getPluginManager().callEvent(new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE)); // CraftBukkit this.dropLeash(true, true); } -@@ -55,7 +55,7 @@ public abstract class PathfinderMob extends Mob { +@@ -57,7 +57,7 @@ public abstract class PathfinderMob extends Mob { } this.onLeashDistance(f); diff --git a/patches/unapplied/server/0605-Implement-BlockPreDispenseEvent.patch b/patches/server/0577-Implement-BlockPreDispenseEvent.patch similarity index 89% rename from patches/unapplied/server/0605-Implement-BlockPreDispenseEvent.patch rename to patches/server/0577-Implement-BlockPreDispenseEvent.patch index d85e167ea5..ba66935539 100644 --- a/patches/unapplied/server/0605-Implement-BlockPreDispenseEvent.patch +++ b/patches/server/0577-Implement-BlockPreDispenseEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Implement BlockPreDispenseEvent diff --git a/src/main/java/net/minecraft/world/level/block/DispenserBlock.java b/src/main/java/net/minecraft/world/level/block/DispenserBlock.java -index 501a5483160dba050261bb3448317a097cdb7ef2..2dcac4b638073aa1748f26f61219dbf95fd1ced6 100644 +index 07d357b5fcb30ed9ff074a196a19de1481fe3738..83ac86b3c1e7b9233f2db8e5488f97c5b44f8843 100644 --- a/src/main/java/net/minecraft/world/level/block/DispenserBlock.java +++ b/src/main/java/net/minecraft/world/level/block/DispenserBlock.java -@@ -91,6 +91,7 @@ public class DispenserBlock extends BaseEntityBlock { +@@ -92,6 +92,7 @@ public class DispenserBlock extends BaseEntityBlock { DispenseItemBehavior idispensebehavior = this.getDispenseMethod(itemstack); if (idispensebehavior != DispenseItemBehavior.NOOP) { @@ -17,7 +17,7 @@ index 501a5483160dba050261bb3448317a097cdb7ef2..2dcac4b638073aa1748f26f61219dbf9 tileentitydispenser.setItem(i, idispensebehavior.dispense(sourceblock, itemstack)); } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 70452799bb3436fdb11462f77097ee52d1139f0d..db6b057eb6b0f08f7fcb998f8b646b757a98d3f6 100644 +index 419c5bd638230c31dd68ba37174c8057c0229a6a..eda17a60afd6cf03e58e66b2dbfe414b1cfac9d5 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1848,5 +1848,11 @@ public class CraftEventFactory {