diff --git a/patches/server/0531-Add-dropLeash-variable-to-EntityUnleashEvent.patch b/patches/server/0531-Expand-EntityUnleashEvent.patch similarity index 96% rename from patches/server/0531-Add-dropLeash-variable-to-EntityUnleashEvent.patch rename to patches/server/0531-Expand-EntityUnleashEvent.patch index a8c76b8b3f..8242a0da2a 100644 --- a/patches/server/0531-Add-dropLeash-variable-to-EntityUnleashEvent.patch +++ b/patches/server/0531-Expand-EntityUnleashEvent.patch @@ -1,11 +1,11 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Nassim Jahnke Date: Fri, 29 Jan 2021 15:13:11 +0100 -Subject: [PATCH] Add dropLeash variable to EntityUnleashEvent +Subject: [PATCH] Expand EntityUnleashEvent diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index d330b6d291cd2967358e892ccbc480bb3bd8022d..764a5dd85e3fb581b1e713ce9b148be1874d55be 100644 +index d330b6d291cd2967358e892ccbc480bb3bd8022d..f9743f8705a7f5f3ede4c869070d5735e24348a0 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -1305,12 +1305,15 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -48,7 +48,7 @@ index d330b6d291cd2967358e892ccbc480bb3bd8022d..764a5dd85e3fb581b1e713ce9b148be1 - this.dropLeash(true, true); + // Paper start - drop leash variable + EntityUnleashEvent event = new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.UNKNOWN, true); -+ this.level().getCraftServer().getPluginManager().callEvent(event); // CraftBukkit ++ if (!event.callEvent()) { return flag1; } + this.dropLeash(true, event.isDropLeash()); + // Paper end } @@ -62,7 +62,7 @@ index d330b6d291cd2967358e892ccbc480bb3bd8022d..764a5dd85e3fb581b1e713ce9b148be1 - this.dropLeash(true, false); + // Paper start - drop leash variable + EntityUnleashEvent event = new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.UNKNOWN, false); -+ this.level().getCraftServer().getPluginManager().callEvent(event); // CraftBukkit ++ if (!event.callEvent()) { return; } + this.dropLeash(true, event.isDropLeash()); + // Paper end this.getAllSlots().forEach((itemstack) -> { diff --git a/patches/server/0586-More-Enchantment-API.patch b/patches/server/0586-More-Enchantment-API.patch index 1524d5b25b..4c6a71ac3c 100644 --- a/patches/server/0586-More-Enchantment-API.patch +++ b/patches/server/0586-More-Enchantment-API.patch @@ -9,7 +9,7 @@ public net.minecraft.world.item.enchantment.Enchantment slots Co-authored-by: Luis diff --git a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java -index 92922e8eef7fa4638a01f3cefc4c46a1451e40e7..4daf2c54c7127e8e091ffc49362f288594956143 100644 +index 92922e8eef7fa4638a01f3cefc4c46a1451e40e7..92465b2a9f1483be76004c9f80a1fe15913b3b8b 100644 --- a/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java +++ b/src/main/java/org/bukkit/craftbukkit/enchantments/CraftEnchantment.java @@ -90,7 +90,7 @@ public class CraftEnchantment extends Enchantment { @@ -17,7 +17,7 @@ index 92922e8eef7fa4638a01f3cefc4c46a1451e40e7..4daf2c54c7127e8e091ffc49362f2885 @Override public boolean isCursed() { - return this.handle instanceof BindingCurseEnchantment || this.handle instanceof VanishingCurseEnchantment; -+ return this.handle.isCurse(); // Paper ++ return this.handle.isCurse(); // Paper - More Enchantment API } @Override diff --git a/patches/server/0587-Move-range-check-for-block-placing-up.patch b/patches/server/0587-Move-range-check-for-block-placing-up.patch index e2caddd0a7..efb4d256ab 100644 --- a/patches/server/0587-Move-range-check-for-block-placing-up.patch +++ b/patches/server/0587-Move-range-check-for-block-placing-up.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Move range check for block placing up diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4ea889c12a6750914b82d796ed641cdd810ea957..4d3452fb5cf9330e87d914f775c1a8e0c955a571 100644 +index 4ea889c12a6750914b82d796ed641cdd810ea957..8d6254c7f63bae10d3e09771d484ee9e44c2c3de 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1743,6 +1743,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -16,7 +16,7 @@ index 4ea889c12a6750914b82d796ed641cdd810ea957..4d3452fb5cf9330e87d914f775c1a8e0 + if (!Double.isFinite(vec3d.x) || !Double.isFinite(vec3d.y) || !Double.isFinite(vec3d.z)) { + return; + } -+ // Paper end ++ // Paper end - improve distance check BlockPos blockposition = movingobjectpositionblock.getBlockPos(); Vec3 vec3d1 = Vec3.atCenterOf(blockposition); diff --git a/patches/server/0588-Fix-and-optimise-world-force-upgrading.patch b/patches/server/0588-Fix-and-optimise-world-force-upgrading.patch index d04c0155d2..5392bdad15 100644 --- a/patches/server/0588-Fix-and-optimise-world-force-upgrading.patch +++ b/patches/server/0588-Fix-and-optimise-world-force-upgrading.patch @@ -267,7 +267,7 @@ index 415d55285bb02442d8d1ec907d37b07fad4f3fcc..9b0bbaf23b90a04b6e6f6c97d9174fe3 Main.LOGGER.info("Forcing world upgrade! {}", session.getLevelId()); // CraftBukkit WorldUpgrader worldupgrader = new WorldUpgrader(session, dataFixer, dimensionOptionsRegistry, eraseCache); diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index fbfe5d18a004225396f2d33084fb5073af2d9731..2acd875f34c367f9b9db85dee5052140c05d0add 100644 +index fbfe5d18a004225396f2d33084fb5073af2d9731..7bfd8307555a9447d4c546a8945341806041cc32 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -586,11 +586,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop true, iregistry); - } -+ // Paper - move down ++ // Paper - fix and optimise world upgrading; move down long j = BiomeManager.obfuscateSeed(creator.seed()); List list = ImmutableList.of(new PhantomSpawner(), new PatrolSpawner(), new CatSpawner(), new VillageSiege(), new WanderingTraderSpawner(worlddata)); diff --git a/patches/server/0590-Add-Unix-domain-socket-support.patch b/patches/server/0590-Add-Unix-domain-socket-support.patch index c7280bd497..a65bf6654a 100644 --- a/patches/server/0590-Add-Unix-domain-socket-support.patch +++ b/patches/server/0590-Add-Unix-domain-socket-support.patch @@ -3,15 +3,9 @@ From: Andrew Steinborn Date: Tue, 11 May 2021 17:39:22 -0400 Subject: [PATCH] Add Unix domain socket support -For Windows and ARM support, JEP-380 is required: -https://inside.java/2021/02/03/jep380-unix-domain-sockets-channels/ -This will be possible as of the Minecraft 1.17 Java version bump. - -Tested-by: Mariell Hoversholm -Reviewed-by: Mariell Hoversholm diff --git a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java -index 019dd5a66b883e6ac8d0f07abc2636768a373664..f0d6e6f85dc2a9ae8d70dd691b144fac0298bf33 100644 +index 019dd5a66b883e6ac8d0f07abc2636768a373664..bc157cd71bb6dbc109990533f622f78bcc103918 100644 --- a/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java +++ b/src/main/java/net/minecraft/server/dedicated/DedicatedServer.java @@ -219,6 +219,20 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -41,7 +35,7 @@ index 019dd5a66b883e6ac8d0f07abc2636768a373664..f0d6e6f85dc2a9ae8d70dd691b144fac } + bindAddress = new java.net.InetSocketAddress(inetaddress, this.getPort()); + } -+ // Paper end ++ // Paper end - Unix domain socket support this.initializeKeyPair(); DedicatedServer.LOGGER.info("Starting Minecraft server on {}:{}", this.getLocalIp().isEmpty() ? "*" : this.getLocalIp(), this.getPort()); @@ -53,19 +47,19 @@ index 019dd5a66b883e6ac8d0f07abc2636768a373664..f0d6e6f85dc2a9ae8d70dd691b144fac DedicatedServer.LOGGER.warn("**** FAILED TO BIND TO PORT!"); DedicatedServer.LOGGER.warn("The exception was: {}", ioexception.toString()); diff --git a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java -index 6641fd04821240b1bbeff1bd8d996a8f2fff8385..5f625acf04ddb56e3596d086252f9bfccfdb95f2 100644 +index 6641fd04821240b1bbeff1bd8d996a8f2fff8385..4bbb370c5d26749c566216bac079a0cb6d0b4507 100644 --- a/src/main/java/net/minecraft/server/network/ServerConnectionListener.java +++ b/src/main/java/net/minecraft/server/network/ServerConnectionListener.java @@ -78,7 +78,12 @@ public class ServerConnectionListener { this.running = true; } -+ // Paper start ++ // Paper start - Unix domain socket support public void startTcpServerListener(@Nullable InetAddress address, int port) throws IOException { + bind(new java.net.InetSocketAddress(address, port)); + } + public void bind(java.net.SocketAddress address) throws IOException { -+ // Paper end ++ // Paper end - Unix domain socket support List list = this.channels; synchronized (this.channels) { @@ -73,13 +67,13 @@ index 6641fd04821240b1bbeff1bd8d996a8f2fff8385..5f625acf04ddb56e3596d086252f9bfc EventLoopGroup eventloopgroup; if (Epoll.isAvailable() && this.server.isEpollEnabled()) { -+ // Paper start ++ // Paper start - Unix domain socket support + if (address instanceof io.netty.channel.unix.DomainSocketAddress) { + oclass = io.netty.channel.epoll.EpollServerDomainSocketChannel.class; + } else { oclass = EpollServerSocketChannel.class; + } -+ // Paper end ++ // Paper end - Unix domain socket support eventloopgroup = (EventLoopGroup) ServerConnectionListener.SERVER_EPOLL_EVENT_GROUP.get(); ServerConnectionListener.LOGGER.info("Using epoll channel type"); } else { @@ -88,35 +82,35 @@ index 6641fd04821240b1bbeff1bd8d996a8f2fff8385..5f625acf04ddb56e3596d086252f9bfc io.papermc.paper.network.ChannelInitializeListenerHolder.callListeners(channel); // Paper } - }).group(eventloopgroup).localAddress(address, port)).option(ChannelOption.AUTO_READ, false).bind().syncUninterruptibly()); // CraftBukkit -+ }).group(eventloopgroup).localAddress(address)).option(ChannelOption.AUTO_READ, false).bind().syncUninterruptibly()); // CraftBukkit // Paper ++ }).group(eventloopgroup).localAddress(address)).option(ChannelOption.AUTO_READ, false).bind().syncUninterruptibly()); // CraftBukkit // Paper - Unix domain socket support } } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 4d3452fb5cf9330e87d914f775c1a8e0c955a571..4d23d019173d0921145338544e190bc34f9f45c2 100644 +index 8d6254c7f63bae10d3e09771d484ee9e44c2c3de..73b825b16f02e254a1e2313ff1c93c642c5dceeb 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2476,6 +2476,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Spigot Start public SocketAddress getRawAddress() { -+ // Paper start - this can be nullable in the case of a Unix domain socket, so if it is, fake something ++ // Paper start - Unix domain socket support; this can be nullable in the case of a Unix domain socket, so if it is, fake something + if (connection.channel.remoteAddress() == null) { + return new java.net.InetSocketAddress(java.net.InetAddress.getLoopbackAddress(), 0); + } -+ // Paper end ++ // Paper end - Unix domain socket support return this.connection.channel.remoteAddress(); } // Spigot End diff --git a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java -index 3068e25f2df958689627fb31783a2d356547f1be..d2edc000f34d7f07a840bb8012c6f884f37e387b 100644 +index 3068e25f2df958689627fb31783a2d356547f1be..f1a002ddfa55ba3bf4313639d0e82f0c8b036c65 100644 --- a/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerHandshakePacketListenerImpl.java @@ -45,6 +45,7 @@ public class ServerHandshakePacketListenerImpl implements ServerHandshakePacketL this.connection.setClientboundProtocolAfterHandshake(ClientIntent.LOGIN); // CraftBukkit start - Connection throttle try { -+ if (!(this.connection.channel.localAddress() instanceof io.netty.channel.unix.DomainSocketAddress)) { // Paper - the connection throttle is useless when you have a Unix domain socket ++ if (!(this.connection.channel.localAddress() instanceof io.netty.channel.unix.DomainSocketAddress)) { // Paper - Unix domain socket support; the connection throttle is useless when you have a Unix domain socket long currentTime = System.currentTimeMillis(); long connectionThrottle = this.server.server.getConnectionThrottle(); InetAddress address = ((java.net.InetSocketAddress) this.connection.getRemoteAddress()).getAddress(); @@ -124,7 +118,7 @@ index 3068e25f2df958689627fb31783a2d356547f1be..d2edc000f34d7f07a840bb8012c6f884 } } } -+ } // Paper - add closing bracket for if check above ++ } // Paper - Unix domain socket support } catch (Throwable t) { org.apache.logging.log4j.LogManager.getLogger().debug("Failed to check connection throttle", t); } @@ -137,7 +131,7 @@ index 3068e25f2df958689627fb31783a2d356547f1be..d2edc000f34d7f07a840bb8012c6f884 this.connection.hostname = split[0]; - this.connection.address = new java.net.InetSocketAddress(split[1], ((java.net.InetSocketAddress) this.connection.getRemoteAddress()).getPort()); + this.connection.address = new java.net.InetSocketAddress(split[1], socketAddress instanceof java.net.InetSocketAddress ? ((java.net.InetSocketAddress) socketAddress).getPort() : 0); -+ // Paper end ++ // Paper end - Unix domain socket support this.connection.spoofedUUID = com.mojang.util.UndashedUuid.fromStringLenient( split[2] ); } else { diff --git a/patches/server/0591-Add-EntityInsideBlockEvent.patch b/patches/server/0591-Add-EntityInsideBlockEvent.patch index c1f06ac325..adbefe7eae 100644 --- a/patches/server/0591-Add-EntityInsideBlockEvent.patch +++ b/patches/server/0591-Add-EntityInsideBlockEvent.patch @@ -5,278 +5,278 @@ Subject: [PATCH] Add EntityInsideBlockEvent diff --git a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java -index 0e56fbe8836020a0e36c0b6df01ae82d0aa8cf38..02cbb25b8b1fdaf6e2b771067ca132245eab13dc 100644 +index 0e56fbe8836020a0e36c0b6df01ae82d0aa8cf38..450f87ea7f4c5ef3b26a3c75bc7c8bd08a982075 100644 --- a/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BaseFireBlock.java @@ -124,6 +124,7 @@ public abstract class BaseFireBlock extends Block { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (!entity.fireImmune()) { entity.setRemainingFireTicks(entity.getRemainingFireTicks() + 1); if (entity.getRemainingFireTicks() == 0) { diff --git a/src/main/java/net/minecraft/world/level/block/BasePressurePlateBlock.java b/src/main/java/net/minecraft/world/level/block/BasePressurePlateBlock.java -index 040e55edea53a2ebab7cc8fe6f85206c9301e11a..e074c126cd3117dc3233f39913b94b3e3fd94973 100644 +index 040e55edea53a2ebab7cc8fe6f85206c9301e11a..0d573c05f4f8838d4492f749ca473f7a9e8d60dd 100644 --- a/src/main/java/net/minecraft/world/level/block/BasePressurePlateBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BasePressurePlateBlock.java @@ -76,6 +76,7 @@ public abstract class BasePressurePlateBlock extends Block { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (!world.isClientSide) { int i = this.getSignalForState(state); diff --git a/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java b/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java -index 546dbe28edbba32ab2aede1260fbd2c9baa9fe1a..8e4a6a1188b2ce2825dc5750505212c72efb5c7b 100644 +index 546dbe28edbba32ab2aede1260fbd2c9baa9fe1a..0d92bd6f1e4f3470a62f573add3490220e60ef7a 100644 --- a/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BigDripleafBlock.java @@ -177,6 +177,7 @@ public class BigDripleafBlock extends HorizontalDirectionalBlock implements Bone @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (!world.isClientSide) { if (state.getValue(BigDripleafBlock.TILT) == Tilt.NONE && BigDripleafBlock.canEntityTilt(pos, entity) && !world.hasNeighborSignal(pos)) { // CraftBukkit start - tilt dripleaf diff --git a/src/main/java/net/minecraft/world/level/block/BubbleColumnBlock.java b/src/main/java/net/minecraft/world/level/block/BubbleColumnBlock.java -index 240e01063b5d684020ed2d7d73fc60c64fd8cf2e..115506fceb9a406e844880fb523d2ff09a66cf7b 100644 +index 240e01063b5d684020ed2d7d73fc60c64fd8cf2e..78d98a442ea3c14500ac6ae597ff2a5080b7ce15 100644 --- a/src/main/java/net/minecraft/world/level/block/BubbleColumnBlock.java +++ b/src/main/java/net/minecraft/world/level/block/BubbleColumnBlock.java @@ -47,6 +47,7 @@ public class BubbleColumnBlock extends Block implements BucketPickup { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent BlockState blockState = world.getBlockState(pos.above()); if (blockState.isAir()) { entity.onAboveBubbleCol(state.getValue(DRAG_DOWN)); diff --git a/src/main/java/net/minecraft/world/level/block/ButtonBlock.java b/src/main/java/net/minecraft/world/level/block/ButtonBlock.java -index 3356f327c9adae6c2f3354b4417f3954012c945a..c6e13cc12ec8817870eb55a82ceb6f1ef77e2d9a 100644 +index 3356f327c9adae6c2f3354b4417f3954012c945a..0118c4ef4f5ed0e724b379b5a563e2b6976803a2 100644 --- a/src/main/java/net/minecraft/world/level/block/ButtonBlock.java +++ b/src/main/java/net/minecraft/world/level/block/ButtonBlock.java @@ -206,6 +206,7 @@ public class ButtonBlock extends FaceAttachedHorizontalDirectionalBlock { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (!world.isClientSide && this.type.canButtonBeActivatedByArrows() && !(Boolean) state.getValue(ButtonBlock.POWERED)) { this.checkPressed(state, world, pos); } diff --git a/src/main/java/net/minecraft/world/level/block/CactusBlock.java b/src/main/java/net/minecraft/world/level/block/CactusBlock.java -index 3c7bbfcb3a88f23056cd0db3da2a281a81dc8c85..a9629a102c4fa4e5720e63fcf4590e9231426c62 100644 +index 3c7bbfcb3a88f23056cd0db3da2a281a81dc8c85..88ca50038b483fe5c207ef5c2bf3ea87540e147e 100644 --- a/src/main/java/net/minecraft/world/level/block/CactusBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CactusBlock.java @@ -121,6 +121,7 @@ public class CactusBlock extends Block { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent CraftEventFactory.blockDamage = world.getWorld().getBlockAt(pos.getX(), pos.getY(), pos.getZ()); // CraftBukkit entity.hurt(world.damageSources().cactus(), 1.0F); CraftEventFactory.blockDamage = null; // CraftBukkit diff --git a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java -index cbabee578a6fd62234d0aa350d911c6c7d02e0b2..7302d07c6ff69608e75ac52fdb19f2ec1d105129 100644 +index cbabee578a6fd62234d0aa350d911c6c7d02e0b2..20dbfeb68ac33ee8ba8214edcca0d7f7ce1be58e 100644 --- a/src/main/java/net/minecraft/world/level/block/CampfireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CampfireBlock.java @@ -108,6 +108,7 @@ public class CampfireBlock extends BaseEntityBlock implements SimpleWaterloggedB @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if ((Boolean) state.getValue(CampfireBlock.LIT) && entity instanceof LivingEntity && !EnchantmentHelper.hasFrostWalker((LivingEntity) entity)) { org.bukkit.craftbukkit.event.CraftEventFactory.blockDamage = CraftBlock.at(world, pos); // CraftBukkit entity.hurt(world.damageSources().inFire(), (float) this.fireDamage); diff --git a/src/main/java/net/minecraft/world/level/block/CropBlock.java b/src/main/java/net/minecraft/world/level/block/CropBlock.java -index a7809bb2a468c7ad7ef7ba795afd93dd2a63cadc..76c12b34aac276fc9375135dac1c2018fdd7d756 100644 +index a7809bb2a468c7ad7ef7ba795afd93dd2a63cadc..aa029bee9839497e48ff639e286a024280150362 100644 --- a/src/main/java/net/minecraft/world/level/block/CropBlock.java +++ b/src/main/java/net/minecraft/world/level/block/CropBlock.java @@ -174,6 +174,7 @@ public class CropBlock extends BushBlock implements BonemealableBlock { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (entity instanceof Ravager && CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState(), !world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING))) { // CraftBukkit world.destroyBlock(pos, true, entity); } diff --git a/src/main/java/net/minecraft/world/level/block/DetectorRailBlock.java b/src/main/java/net/minecraft/world/level/block/DetectorRailBlock.java -index 8eff69cb70ba094f9dcc0849f0436d4a3498fceb..034a3bc5b5e526e28088a9715a41ad8ab843860b 100644 +index 8eff69cb70ba094f9dcc0849f0436d4a3498fceb..9de6503f20396601a270e6eb0b66c40187fca690 100644 --- a/src/main/java/net/minecraft/world/level/block/DetectorRailBlock.java +++ b/src/main/java/net/minecraft/world/level/block/DetectorRailBlock.java @@ -51,6 +51,7 @@ public class DetectorRailBlock extends BaseRailBlock { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (!world.isClientSide) { if (!(Boolean) state.getValue(DetectorRailBlock.POWERED)) { this.checkPressed(world, pos, state); diff --git a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java -index 07629f6106f384751c376d2a99ba2e8b905e49c6..c8f1bdbfcb2df3d4be05d185e97857a6181b076e 100644 +index 07629f6106f384751c376d2a99ba2e8b905e49c6..9ee2fd0914ff7836517ca143d51db6150967cb0e 100644 --- a/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/EndPortalBlock.java @@ -52,6 +52,7 @@ public class EndPortalBlock extends BaseEntityBlock { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (world instanceof ServerLevel && entity.canChangeDimensions() && Shapes.joinIsNotEmpty(Shapes.create(entity.getBoundingBox().move((double) (-pos.getX()), (double) (-pos.getY()), (double) (-pos.getZ()))), state.getShape(world, pos), BooleanOp.AND)) { ResourceKey resourcekey = world.getTypeKey() == LevelStem.END ? Level.OVERWORLD : Level.END; // CraftBukkit - SPIGOT-6152: send back to main overworld in custom ends ServerLevel worldserver = ((ServerLevel) world).getServer().getLevel(resourcekey); diff --git a/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java b/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java -index d5c83f3b9d398b2a025e6729980b1b87b35f38a8..a4ca58384ae2a39ec568b153cc1a4f7704136108 100644 +index d5c83f3b9d398b2a025e6729980b1b87b35f38a8..68978e1629381ada161225c53a236a54deae6481 100644 --- a/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java +++ b/src/main/java/net/minecraft/world/level/block/FrogspawnBlock.java @@ -78,6 +78,7 @@ public class FrogspawnBlock extends Block { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (entity.getType().equals(EntityType.FALLING_BLOCK)) { this.destroyBlock(world, pos); } diff --git a/src/main/java/net/minecraft/world/level/block/HoneyBlock.java b/src/main/java/net/minecraft/world/level/block/HoneyBlock.java -index 8b84359316e559b94ae6a2d757bda2286d99a903..b9d89cce40e4cbeaf98eeb85c254db353e573c95 100644 +index 8b84359316e559b94ae6a2d757bda2286d99a903..39e2fe8c5f5a2a4d4f3a7be3645923b5a1dca875 100644 --- a/src/main/java/net/minecraft/world/level/block/HoneyBlock.java +++ b/src/main/java/net/minecraft/world/level/block/HoneyBlock.java @@ -61,6 +61,7 @@ public class HoneyBlock extends HalfTransparentBlock { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (this.isSlidingDown(pos, entity)) { this.maybeDoSlideAchievement(entity, pos); this.doSlideMovement(entity); diff --git a/src/main/java/net/minecraft/world/level/block/HopperBlock.java b/src/main/java/net/minecraft/world/level/block/HopperBlock.java -index 99a5821a55f2d2947722d64d60f4ee4ba5dfa74c..5012de7e58092a11f8022a1aa33986604da840b3 100644 +index 99a5821a55f2d2947722d64d60f4ee4ba5dfa74c..04e69d6066faf1c605aeeabe827dc20fc96a3568 100644 --- a/src/main/java/net/minecraft/world/level/block/HopperBlock.java +++ b/src/main/java/net/minecraft/world/level/block/HopperBlock.java @@ -200,6 +200,7 @@ public class HopperBlock extends BaseEntityBlock { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent BlockEntity blockEntity = world.getBlockEntity(pos); if (blockEntity instanceof HopperBlockEntity) { HopperBlockEntity.entityInside(world, pos, state, entity, (HopperBlockEntity)blockEntity); diff --git a/src/main/java/net/minecraft/world/level/block/LavaCauldronBlock.java b/src/main/java/net/minecraft/world/level/block/LavaCauldronBlock.java -index 7e926a4546f89da22080ef28c3858ac7b3cf80f1..bc099abfda6555cade0a83eddfe1be9c243fa83b 100644 +index 7e926a4546f89da22080ef28c3858ac7b3cf80f1..29d4553df54236706c76fdec0bb14b5d9fb82ff2 100644 --- a/src/main/java/net/minecraft/world/level/block/LavaCauldronBlock.java +++ b/src/main/java/net/minecraft/world/level/block/LavaCauldronBlock.java @@ -32,6 +32,7 @@ public class LavaCauldronBlock extends AbstractCauldronBlock { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (this.isEntityInsideContent(state, pos, entity)) { entity.lavaHurt(); } diff --git a/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java b/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java -index 64247c3a81273277b95656885c78eca3e883ef13..a8b2c49ebf531d730d681ca3bceb4dc74b433fdb 100644 +index 64247c3a81273277b95656885c78eca3e883ef13..18ca086e28f4295cb9303919222d7c8ae0ca5d9a 100644 --- a/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java +++ b/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java @@ -65,6 +65,7 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (!world.isClientSide && entity.isOnFire() && this.isEntityInsideContent(state, pos, entity)) { // CraftBukkit start if (entity.mayInteract(world, pos)) { diff --git a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java -index 4e52e92846428b0d01635b90f3480b4a2c13a0b4..ee998d06804e344ea9d5b84ef0074b84aaba04c2 100644 +index 4e52e92846428b0d01635b90f3480b4a2c13a0b4..e6b762c70cbc08b20fc225b7731abd19c626369c 100644 --- a/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java +++ b/src/main/java/net/minecraft/world/level/block/NetherPortalBlock.java @@ -90,6 +90,7 @@ public class NetherPortalBlock extends Block { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (entity.canChangeDimensions()) { // CraftBukkit start - Entity in portal EntityPortalEnterEvent event = new EntityPortalEnterEvent(entity.getBukkitEntity(), new org.bukkit.Location(world.getWorld(), pos.getX(), pos.getY(), pos.getZ())); diff --git a/src/main/java/net/minecraft/world/level/block/PitcherCropBlock.java b/src/main/java/net/minecraft/world/level/block/PitcherCropBlock.java -index f7154d56ad42e0dde497e0e585cc554d34865e3b..c80a3ee02f3af146926a3611779fd0af298a8ac1 100644 +index f7154d56ad42e0dde497e0e585cc554d34865e3b..690abba9d27ab4061de4dd3676292b1859036868 100644 --- a/src/main/java/net/minecraft/world/level/block/PitcherCropBlock.java +++ b/src/main/java/net/minecraft/world/level/block/PitcherCropBlock.java @@ -94,6 +94,7 @@ public class PitcherCropBlock extends DoublePlantBlock implements BonemealableBl @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (entity instanceof Ravager && world.getGameRules().getBoolean(GameRules.RULE_MOBGRIEFING)) { world.destroyBlock(pos, true, entity); } diff --git a/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java b/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java -index b38658b84e821435ba5a3fc7218b72406da00e47..f579911b06b66e94e6311d970e93cca33fa089c6 100644 +index b38658b84e821435ba5a3fc7218b72406da00e47..0dfcac8cfcbb09fe04486bff60119f7985714454 100644 --- a/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java +++ b/src/main/java/net/minecraft/world/level/block/PowderSnowBlock.java @@ -63,6 +63,7 @@ public class PowderSnowBlock extends Block implements BucketPickup { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (!(entity instanceof LivingEntity) || entity.getFeetBlockState().is((Block) this)) { entity.makeStuckInBlock(state, new Vec3(0.8999999761581421D, 1.5D, 0.8999999761581421D)); if (world.isClientSide) { diff --git a/src/main/java/net/minecraft/world/level/block/SweetBerryBushBlock.java b/src/main/java/net/minecraft/world/level/block/SweetBerryBushBlock.java -index c733b9dc26370322e404b56ac3feb3417948cb90..f474ae7b3121de701f371b7d88e80086ec07d03d 100644 +index c733b9dc26370322e404b56ac3feb3417948cb90..6c1ed9d37adb97b47f0288a5986b805ee0e13842 100644 --- a/src/main/java/net/minecraft/world/level/block/SweetBerryBushBlock.java +++ b/src/main/java/net/minecraft/world/level/block/SweetBerryBushBlock.java @@ -84,6 +84,7 @@ public class SweetBerryBushBlock extends BushBlock implements BonemealableBlock @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (entity instanceof LivingEntity && entity.getType() != EntityType.FOX && entity.getType() != EntityType.BEE) { entity.makeStuckInBlock(state, new Vec3(0.800000011920929D, 0.75D, 0.800000011920929D)); if (!world.isClientSide && (Integer) state.getValue(SweetBerryBushBlock.AGE) > 0 && (entity.xOld != entity.getX() || entity.zOld != entity.getZ())) { diff --git a/src/main/java/net/minecraft/world/level/block/TripWireBlock.java b/src/main/java/net/minecraft/world/level/block/TripWireBlock.java -index d092ee2aa4a37c89642133dca7049737c55a4245..bbb7d1b03c78758d608e89129aacec151242831c 100644 +index d092ee2aa4a37c89642133dca7049737c55a4245..003fd247b12323cca5fd82a6cdf31bd897afd682 100644 --- a/src/main/java/net/minecraft/world/level/block/TripWireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/TripWireBlock.java @@ -134,6 +134,7 @@ public class TripWireBlock extends Block { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (!world.isClientSide) { if (!(Boolean) state.getValue(TripWireBlock.POWERED)) { this.checkPressed(world, pos); diff --git a/src/main/java/net/minecraft/world/level/block/WaterlilyBlock.java b/src/main/java/net/minecraft/world/level/block/WaterlilyBlock.java -index d89a4c30599cedcb8ce17899631cb58c8a6a2195..c01cc63497917b0c5d95424c060c69f3693fc871 100644 +index d89a4c30599cedcb8ce17899631cb58c8a6a2195..61abbcfe97e3d3e3da5ee658672549d14594ad17 100644 --- a/src/main/java/net/minecraft/world/level/block/WaterlilyBlock.java +++ b/src/main/java/net/minecraft/world/level/block/WaterlilyBlock.java @@ -34,6 +34,7 @@ public class WaterlilyBlock extends BushBlock { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { super.entityInside(state, world, pos, entity); -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (world instanceof ServerLevel && entity instanceof Boat) { // CraftBukkit start if (!CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState())) { diff --git a/src/main/java/net/minecraft/world/level/block/WebBlock.java b/src/main/java/net/minecraft/world/level/block/WebBlock.java -index 7206dfa5bdfb94ff98bcdfc735367c22493e925e..edf00a8c3747d0c5ac8001c70846475800fa6a84 100644 +index 7206dfa5bdfb94ff98bcdfc735367c22493e925e..4905de6446f07e2fff53a3c8580b64b96306c373 100644 --- a/src/main/java/net/minecraft/world/level/block/WebBlock.java +++ b/src/main/java/net/minecraft/world/level/block/WebBlock.java @@ -22,6 +22,7 @@ public class WebBlock extends Block { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent entity.makeStuckInBlock(state, new Vec3(0.25D, (double)0.05F, 0.25D)); } } diff --git a/src/main/java/net/minecraft/world/level/block/WitherRoseBlock.java b/src/main/java/net/minecraft/world/level/block/WitherRoseBlock.java -index c10a01013f8393c677834136babed15817b45611..8f6139d8b1fbe45b9330961ccfbe9413f9f5f225 100644 +index c10a01013f8393c677834136babed15817b45611..a49027c73ca461e0610914138cc660c89965f956 100644 --- a/src/main/java/net/minecraft/world/level/block/WitherRoseBlock.java +++ b/src/main/java/net/minecraft/world/level/block/WitherRoseBlock.java @@ -61,6 +61,7 @@ public class WitherRoseBlock extends FlowerBlock { @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { -+ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper ++ if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (!world.isClientSide && world.getDifficulty() != Difficulty.PEACEFUL) { if (entity instanceof LivingEntity) { LivingEntity entityliving = (LivingEntity) entity; diff --git a/patches/server/0593-Add-cause-to-Weather-ThunderChangeEvents.patch b/patches/server/0593-Add-cause-to-Weather-ThunderChangeEvents.patch index 3c2e6af4c6..53f088b373 100644 --- a/patches/server/0593-Add-cause-to-Weather-ThunderChangeEvents.patch +++ b/patches/server/0593-Add-cause-to-Weather-ThunderChangeEvents.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add cause to Weather/ThunderChangeEvents diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index a3288d3cd160978e8bab4ca34d1fe6dbee042e28..8b2f72be4304ebab84fc46e6c4c0984abd8e8905 100644 +index a3288d3cd160978e8bab4ca34d1fe6dbee042e28..b858ee2fc8c03c52a6b6d703b1f770b3c496b2a8 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -672,8 +672,8 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -14,8 +14,8 @@ index a3288d3cd160978e8bab4ca34d1fe6dbee042e28..8b2f72be4304ebab84fc46e6c4c0984a this.serverLevelData.setThunderTime(rainDuration); - this.serverLevelData.setRaining(raining); - this.serverLevelData.setThundering(thundering); -+ this.serverLevelData.setRaining(raining, org.bukkit.event.weather.WeatherChangeEvent.Cause.COMMAND); // Paper -+ this.serverLevelData.setThundering(thundering, org.bukkit.event.weather.ThunderChangeEvent.Cause.COMMAND); // Paper ++ this.serverLevelData.setRaining(raining, org.bukkit.event.weather.WeatherChangeEvent.Cause.COMMAND); // Paper - Add cause to Weather/ThunderChangeEvents ++ this.serverLevelData.setThundering(thundering, org.bukkit.event.weather.ThunderChangeEvent.Cause.COMMAND); // Paper - Add cause to Weather/ThunderChangeEvents } @Override @@ -25,8 +25,8 @@ index a3288d3cd160978e8bab4ca34d1fe6dbee042e28..8b2f72be4304ebab84fc46e6c4c0984a this.serverLevelData.setClearWeatherTime(i); - this.serverLevelData.setThundering(flag1); - this.serverLevelData.setRaining(flag2); -+ this.serverLevelData.setThundering(flag1, org.bukkit.event.weather.ThunderChangeEvent.Cause.NATURAL); // Paper -+ this.serverLevelData.setRaining(flag2, org.bukkit.event.weather.WeatherChangeEvent.Cause.NATURAL); // Paper ++ this.serverLevelData.setThundering(flag1, org.bukkit.event.weather.ThunderChangeEvent.Cause.NATURAL); // Paper - Add cause to Weather/ThunderChangeEvents ++ this.serverLevelData.setRaining(flag2, org.bukkit.event.weather.WeatherChangeEvent.Cause.NATURAL); // Paper - Add cause to Weather/ThunderChangeEvents } this.oThunderLevel = this.thunderLevel; @@ -35,7 +35,7 @@ index a3288d3cd160978e8bab4ca34d1fe6dbee042e28..8b2f72be4304ebab84fc46e6c4c0984a public void resetWeatherCycle() { // CraftBukkit start - this.serverLevelData.setRaining(false); -+ this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - when passing the night ++ this.serverLevelData.setRaining(false, org.bukkit.event.weather.WeatherChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents // If we stop due to everyone sleeping we should reset the weather duration to some other random value. // Not that everyone ever manages to get the whole server to sleep at the same time.... if (!this.serverLevelData.isRaining()) { @@ -43,23 +43,23 @@ index a3288d3cd160978e8bab4ca34d1fe6dbee042e28..8b2f72be4304ebab84fc46e6c4c0984a } // CraftBukkit end - this.serverLevelData.setThundering(false); -+ this.serverLevelData.setThundering(false, org.bukkit.event.weather.ThunderChangeEvent.Cause.SLEEP); // Paper - when passing the night ++ this.serverLevelData.setThundering(false, org.bukkit.event.weather.ThunderChangeEvent.Cause.SLEEP); // Paper - Add cause to Weather/ThunderChangeEvents // CraftBukkit start // If we stop due to everyone sleeping we should reset the weather duration to some other random value. // Not that everyone ever manages to get the whole server to sleep at the same time.... diff --git a/src/main/java/net/minecraft/world/level/storage/PrimaryLevelData.java b/src/main/java/net/minecraft/world/level/storage/PrimaryLevelData.java -index f5ac36fa54f3d3b39de103c95abb9ca3adfe8dda..47266d2b86e7f2022de7ea0c9347b4f55ad6fbe1 100644 +index f5ac36fa54f3d3b39de103c95abb9ca3adfe8dda..59ba982dc96ce47e47399514e8f74d2b972dbe1e 100644 --- a/src/main/java/net/minecraft/world/level/storage/PrimaryLevelData.java +++ b/src/main/java/net/minecraft/world/level/storage/PrimaryLevelData.java @@ -373,6 +373,11 @@ public class PrimaryLevelData implements ServerLevelData, WorldData { @Override public void setThundering(boolean thundering) { -+ // Paper start ++ // Paper start - Add cause to Weather/ThunderChangeEvents + this.setThundering(thundering, org.bukkit.event.weather.ThunderChangeEvent.Cause.UNKNOWN); + } + public void setThundering(boolean thundering, org.bukkit.event.weather.ThunderChangeEvent.Cause cause) { -+ // Paper end ++ // Paper end - Add cause to Weather/ThunderChangeEvents // CraftBukkit start if (this.thundering == thundering) { return; @@ -68,7 +68,7 @@ index f5ac36fa54f3d3b39de103c95abb9ca3adfe8dda..47266d2b86e7f2022de7ea0c9347b4f5 org.bukkit.World world = Bukkit.getWorld(this.getLevelName()); if (world != null) { - ThunderChangeEvent thunder = new ThunderChangeEvent(world, thundering); -+ ThunderChangeEvent thunder = new ThunderChangeEvent(world, thundering, cause); // Paper ++ ThunderChangeEvent thunder = new ThunderChangeEvent(world, thundering, cause); // Paper - Add cause to Weather/ThunderChangeEvents Bukkit.getServer().getPluginManager().callEvent(thunder); if (thunder.isCancelled()) { return; @@ -76,12 +76,12 @@ index f5ac36fa54f3d3b39de103c95abb9ca3adfe8dda..47266d2b86e7f2022de7ea0c9347b4f5 @Override public void setRaining(boolean raining) { -+ // Paper start ++ // Paper start - Add cause to Weather/ThunderChangeEvents + this.setRaining(raining, org.bukkit.event.weather.WeatherChangeEvent.Cause.UNKNOWN); + } + + public void setRaining(boolean raining, org.bukkit.event.weather.WeatherChangeEvent.Cause cause) { -+ // Paper end ++ // Paper end - Add cause to Weather/ThunderChangeEvents // CraftBukkit start if (this.raining == raining) { return; @@ -90,12 +90,12 @@ index f5ac36fa54f3d3b39de103c95abb9ca3adfe8dda..47266d2b86e7f2022de7ea0c9347b4f5 org.bukkit.World world = Bukkit.getWorld(this.getLevelName()); if (world != null) { - WeatherChangeEvent weather = new WeatherChangeEvent(world, raining); -+ WeatherChangeEvent weather = new WeatherChangeEvent(world, raining, cause); // Paper ++ WeatherChangeEvent weather = new WeatherChangeEvent(world, raining, cause); // Paper - Add cause to Weather/ThunderChangeEvents Bukkit.getServer().getPluginManager().callEvent(weather); if (weather.isCancelled()) { return; diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 43d3c45cd7a178a4ca30e4c0c7fb1e7e21cd89f1..e88b42727ba0b87ba01933116b6ef456203d9dbb 100644 +index 43d3c45cd7a178a4ca30e4c0c7fb1e7e21cd89f1..c0d02f7d714f7116b34b5a735b5520cf3a5a4587 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1243,7 +1243,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -103,7 +103,7 @@ index 43d3c45cd7a178a4ca30e4c0c7fb1e7e21cd89f1..e88b42727ba0b87ba01933116b6ef456 @Override public void setStorm(boolean hasStorm) { - this.world.levelData.setRaining(hasStorm); -+ this.world.serverLevelData.setRaining(hasStorm, org.bukkit.event.weather.WeatherChangeEvent.Cause.PLUGIN); // Paper ++ this.world.serverLevelData.setRaining(hasStorm, org.bukkit.event.weather.WeatherChangeEvent.Cause.PLUGIN); // Paper - Add cause to Weather/ThunderChangeEvents this.setWeatherDuration(0); // Reset weather duration (legacy behaviour) this.setClearWeatherDuration(0); // Reset clear weather duration (reset "/weather clear" commands) } @@ -112,7 +112,7 @@ index 43d3c45cd7a178a4ca30e4c0c7fb1e7e21cd89f1..e88b42727ba0b87ba01933116b6ef456 @Override public void setThundering(boolean thundering) { - this.world.serverLevelData.setThundering(thundering); -+ this.world.serverLevelData.setThundering(thundering, org.bukkit.event.weather.ThunderChangeEvent.Cause.PLUGIN); // Paper ++ this.world.serverLevelData.setThundering(thundering, org.bukkit.event.weather.ThunderChangeEvent.Cause.PLUGIN); // Paper - Add cause to Weather/ThunderChangeEvents this.setThunderDuration(0); // Reset weather duration (legacy behaviour) this.setClearWeatherDuration(0); // Reset clear weather duration (reset "/weather clear" commands) } diff --git a/patches/server/0595-Limit-item-frame-cursors-on-maps.patch b/patches/server/0595-Limit-item-frame-cursors-on-maps.patch index 64dc46158b..d25538d723 100644 --- a/patches/server/0595-Limit-item-frame-cursors-on-maps.patch +++ b/patches/server/0595-Limit-item-frame-cursors-on-maps.patch @@ -5,17 +5,17 @@ Subject: [PATCH] Limit item frame cursors on maps diff --git a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java -index 5992f450f01349ce49286c34b8af56737de01a45..e4c4948e076cd64686dfd16ae0568fafc1437140 100644 +index 5992f450f01349ce49286c34b8af56737de01a45..45269115e63cfc3bd7dc740a5694e2cc7c35bcb1 100644 --- a/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java +++ b/src/main/java/net/minecraft/world/level/saveddata/maps/MapItemSavedData.java @@ -302,8 +302,10 @@ public class MapItemSavedData extends SavedData { MapFrame worldmapframe1 = new MapFrame(blockposition, entityitemframe.getDirection().get2DDataValue() * 90, entityitemframe.getId()); -+ if (this.decorations.size() < player.level().paperConfig().maps.itemFrameCursorLimit) { // Paper ++ if (this.decorations.size() < player.level().paperConfig().maps.itemFrameCursorLimit) { // Paper - Limit item frame cursors on maps this.addDecoration(MapDecoration.Type.FRAME, player.level(), "frame-" + entityitemframe.getId(), (double) blockposition.getX(), (double) blockposition.getZ(), (double) (entityitemframe.getDirection().get2DDataValue() * 90), (Component) null); this.frameMarkers.put(worldmapframe1.getId(), worldmapframe1); -+ } // Paper ++ } // Paper - Limit item frame cursors on maps } CompoundTag nbttagcompound = stack.getTag(); @@ -24,7 +24,7 @@ index 5992f450f01349ce49286c34b8af56737de01a45..e4c4948e076cd64686dfd16ae0568faf } - if (!this.isTrackedCountOverLimit(256)) { -+ if (!this.isTrackedCountOverLimit(((Level) world).paperConfig().maps.itemFrameCursorLimit)) { // Paper ++ if (!this.isTrackedCountOverLimit(((Level) world).paperConfig().maps.itemFrameCursorLimit)) { // Paper - Limit item frame cursors on maps this.bannerMarkers.put(mapiconbanner.getId(), mapiconbanner); this.addDecoration(mapiconbanner.getDecoration(), world, mapiconbanner.getId(), d0, d1, 180.0D, mapiconbanner.getName()); return true; diff --git a/patches/server/0596-Add-PlayerKickEvent-causes.patch b/patches/server/0596-Add-PlayerKickEvent-causes.patch index e9ccf585d7..5943afcd8b 100644 --- a/patches/server/0596-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0596-Add-PlayerKickEvent-causes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add PlayerKickEvent causes diff --git a/src/main/java/net/minecraft/network/chat/SignedMessageChain.java b/src/main/java/net/minecraft/network/chat/SignedMessageChain.java -index 96814e626a95e4e3c2f4df1a0339d37bb02f2e61..22ead092ae984d1eaa052fe97981ce3c49b521d8 100644 +index 96814e626a95e4e3c2f4df1a0339d37bb02f2e61..ba12919c3f9aec34a9e64993b143ae92be5eb172 100644 --- a/src/main/java/net/minecraft/network/chat/SignedMessageChain.java +++ b/src/main/java/net/minecraft/network/chat/SignedMessageChain.java @@ -35,16 +35,16 @@ public class SignedMessageChain { @@ -33,22 +33,22 @@ index 96814e626a95e4e3c2f4df1a0339d37bb02f2e61..22ead092ae984d1eaa052fe97981ce3c public static class DecodeException extends ThrowingComponent { private final boolean shouldDisconnect; -+ public final org.bukkit.event.player.PlayerKickEvent.Cause kickCause; // Paper ++ public final org.bukkit.event.player.PlayerKickEvent.Cause kickCause; // Paper - kick event causes public DecodeException(Component message, boolean shouldDisconnect) { -+ // Paper start ++ // Paper start - kick event causes + this(message, shouldDisconnect, org.bukkit.event.player.PlayerKickEvent.Cause.UNKNOWN); + } + public DecodeException(Component message, boolean shouldDisconnect, org.bukkit.event.player.PlayerKickEvent.Cause kickCause) { -+ // Paper end ++ // Paper end - kick event causes super(message); this.shouldDisconnect = shouldDisconnect; -+ this.kickCause = kickCause; // Paper ++ this.kickCause = kickCause; // Paper - kick event causes } public boolean shouldDisconnect() { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2acd875f34c367f9b9db85dee5052140c05d0add..26f4516f20336ddfaf868337cab3a05166f01b8d 100644 +index 7bfd8307555a9447d4c546a8945341806041cc32..970dafebf8143ab6de44bfffdeff2475685f99fa 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -2236,7 +2236,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop (org.bukkit.entity.LivingEntity) entity.getBukkitEntity()).collect(java.util.stream.Collectors.toCollection(java.util.ArrayList::new)); // CraftBukkit - org.bukkit.craftbukkit.event.CraftEventFactory.handleBellResonateEvent(world, pos, entities).forEach(BellBlockEntity::glow); -+ org.bukkit.craftbukkit.event.CraftEventFactory.handleBellResonateEvent(world, pos, entities).forEach(entity -> glow(entity, pos)); // Paper - pass BlockPos ++ org.bukkit.craftbukkit.event.CraftEventFactory.handleBellResonateEvent(world, pos, entities).forEach(entity -> glow(entity, pos)); // Paper - Add BellRevealRaiderEvent // CraftBukkit end } @@ -22,11 +22,11 @@ index b446d6549922f3dabaaa05793d8ee3eb45566ac3..f07222c8c9c82478d492b0916cd394be } - private static void glow(LivingEntity entity) { -+ // Paper start ++ // Paper start - Add BellRevealRaiderEvent + private static void glow(LivingEntity entity) { glow(entity, null); } + private static void glow(LivingEntity entity, @javax.annotation.Nullable BlockPos pos) { + if (pos != null && !new io.papermc.paper.event.block.BellRevealRaiderEvent(entity.level().getWorld().getBlockAt(io.papermc.paper.util.MCUtil.toLocation(entity.level(), pos)), entity.getBukkitEntity()).callEvent()) return; -+ // Paper end ++ // Paper end - Add BellRevealRaiderEvent entity.addEffect(new MobEffectInstance(MobEffects.GLOWING, 60)); } diff --git a/patches/server/0602-Fix-invulnerable-end-crystals.patch b/patches/server/0602-Fix-invulnerable-end-crystals.patch index 195d6b8a42..8d9e818ef4 100644 --- a/patches/server/0602-Fix-invulnerable-end-crystals.patch +++ b/patches/server/0602-Fix-invulnerable-end-crystals.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix invulnerable end crystals MC-108513 diff --git a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java -index cc3f1532a2108ea915d0e8c840e87bc56ab60a65..ffc5b68c4246a7111845230a75552bb15875a209 100644 +index cc3f1532a2108ea915d0e8c840e87bc56ab60a65..c99ab157e43fc990549fc06f5b6fb1e227014fde 100644 --- a/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java +++ b/src/main/java/net/minecraft/world/entity/boss/enderdragon/EndCrystal.java @@ -29,6 +29,7 @@ public class EndCrystal extends Entity { @@ -31,7 +31,7 @@ index cc3f1532a2108ea915d0e8c840e87bc56ab60a65..ffc5b68c4246a7111845230a75552bb1 + this.setBeamTarget(null); + } + } -+ // Paper end ++ // Paper end - Fix invulnerable end crystals } } @@ -52,14 +52,14 @@ index cc3f1532a2108ea915d0e8c840e87bc56ab60a65..ffc5b68c4246a7111845230a75552bb1 } diff --git a/src/main/java/net/minecraft/world/level/levelgen/feature/SpikeFeature.java b/src/main/java/net/minecraft/world/level/levelgen/feature/SpikeFeature.java -index 4b685e185ebac8553f1f81d1a5a04be8166a6ca4..dbd1e440ced5d23f2f813b12808f9400a49c3f8f 100644 +index 4b685e185ebac8553f1f81d1a5a04be8166a6ca4..3b36caafde83c87c823277e2085ee82ae497b9be 100644 --- a/src/main/java/net/minecraft/world/level/levelgen/feature/SpikeFeature.java +++ b/src/main/java/net/minecraft/world/level/levelgen/feature/SpikeFeature.java @@ -101,6 +101,7 @@ public class SpikeFeature extends Feature { endCrystal.setBeamTarget(config.getCrystalBeamTarget()); endCrystal.setInvulnerable(config.isCrystalInvulnerable()); endCrystal.moveTo((double)spike.getCenterX() + 0.5D, (double)(spike.getHeight() + 1), (double)spike.getCenterZ() + 0.5D, random.nextFloat() * 360.0F, 0.0F); -+ endCrystal.generatedByDragonFight = true; // Paper ++ endCrystal.generatedByDragonFight = true; // Paper - Fix invulnerable end crystals world.addFreshEntity(endCrystal); BlockPos blockPos2 = endCrystal.blockPosition(); this.setBlock(world, blockPos2.below(), Blocks.BEDROCK.defaultBlockState()); diff --git a/patches/server/0603-Add-ElderGuardianAppearanceEvent.patch b/patches/server/0603-Add-ElderGuardianAppearanceEvent.patch index 1e6a1117c1..ca41d320e7 100644 --- a/patches/server/0603-Add-ElderGuardianAppearanceEvent.patch +++ b/patches/server/0603-Add-ElderGuardianAppearanceEvent.patch @@ -5,36 +5,36 @@ Subject: [PATCH] Add ElderGuardianAppearanceEvent diff --git a/src/main/java/net/minecraft/world/effect/MobEffectUtil.java b/src/main/java/net/minecraft/world/effect/MobEffectUtil.java -index fd803cbdad0e75f43279c5d5049b0152c2d013c3..2902a06b06bedf4fba42ac37a5371b0b353e0e98 100644 +index fd803cbdad0e75f43279c5d5049b0152c2d013c3..fcc60a419c6dade50848d4c1e6e8daf0d3095d70 100644 --- a/src/main/java/net/minecraft/world/effect/MobEffectUtil.java +++ b/src/main/java/net/minecraft/world/effect/MobEffectUtil.java @@ -54,10 +54,23 @@ public final class MobEffectUtil { } public static List addEffectToPlayersAround(ServerLevel worldserver, @Nullable Entity entity, Vec3 vec3d, double d0, MobEffectInstance mobeffect, int i, org.bukkit.event.entity.EntityPotionEffectEvent.Cause cause) { -+ // Paper start ++ // Paper start - Add ElderGuardianAppearanceEvent + return addEffectToPlayersAround(worldserver, entity, vec3d, d0, mobeffect, i, cause, null); + } + + public static List addEffectToPlayersAround(ServerLevel worldserver, @Nullable Entity entity, Vec3 vec3d, double d0, MobEffectInstance mobeffect, int i, org.bukkit.event.entity.EntityPotionEffectEvent.Cause cause, @Nullable java.util.function.Predicate playerPredicate) { -+ // Paper end ++ // Paper end - Add ElderGuardianAppearanceEvent // CraftBukkit end MobEffect mobeffectlist = mobeffect.getEffect(); List list = worldserver.getPlayers((entityplayer) -> { - return entityplayer.gameMode.isSurvival() && (entity == null || !entity.isAlliedTo((Entity) entityplayer)) && vec3d.closerThan(entityplayer.position(), d0) && (!entityplayer.hasEffect(mobeffectlist) || entityplayer.getEffect(mobeffectlist).getAmplifier() < mobeffect.getAmplifier() || entityplayer.getEffect(mobeffectlist).endsWithin(i - 1)); -+ // Paper start ++ // Paper start - Add ElderGuardianAppearanceEvent + boolean condition = entityplayer.gameMode.isSurvival() && (entity == null || !entity.isAlliedTo((Entity) entityplayer)) && vec3d.closerThan(entityplayer.position(), d0) && (!entityplayer.hasEffect(mobeffectlist) || entityplayer.getEffect(mobeffectlist).getAmplifier() < mobeffect.getAmplifier() || entityplayer.getEffect(mobeffectlist).endsWithin(i - 1)); + if (condition) { + return playerPredicate == null || playerPredicate.test(entityplayer); // Only test the player AFTER it is true + } else { + return false; + } -+ // Paper ned ++ // Paper ned - Add ElderGuardianAppearanceEvent }); list.forEach((entityplayer) -> { diff --git a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java -index 1dfdb378a2491b0ae64a4152e4cd8b539dfdf65b..efc1d49c5bfea7d1674b8a9de2c8b617657eda0f 100644 +index 1dfdb378a2491b0ae64a4152e4cd8b539dfdf65b..6d4810626980ce46e02042a5660f615c58d0d5fd 100644 --- a/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java +++ b/src/main/java/net/minecraft/world/entity/monster/ElderGuardian.java @@ -70,7 +70,7 @@ public class ElderGuardian extends Guardian { @@ -42,7 +42,7 @@ index 1dfdb378a2491b0ae64a4152e4cd8b539dfdf65b..efc1d49c5bfea7d1674b8a9de2c8b617 if ((this.tickCount + this.getId()) % 1200 == 0) { MobEffectInstance mobeffect = new MobEffectInstance(MobEffects.DIG_SLOWDOWN, 6000, 2); - List list = MobEffectUtil.addEffectToPlayersAround((ServerLevel) this.level(), this, this.position(), 50.0D, mobeffect, 1200, org.bukkit.event.entity.EntityPotionEffectEvent.Cause.ATTACK); // CraftBukkit -+ List list = MobEffectUtil.addEffectToPlayersAround((ServerLevel) this.level(), this, this.position(), 50.0D, mobeffect, 1200, org.bukkit.event.entity.EntityPotionEffectEvent.Cause.ATTACK, (player) -> new io.papermc.paper.event.entity.ElderGuardianAppearanceEvent(getBukkitEntity(), player.getBukkitEntity()).callEvent()); // CraftBukkit // Paper ++ List list = MobEffectUtil.addEffectToPlayersAround((ServerLevel) this.level(), this, this.position(), 50.0D, mobeffect, 1200, org.bukkit.event.entity.EntityPotionEffectEvent.Cause.ATTACK, (player) -> new io.papermc.paper.event.entity.ElderGuardianAppearanceEvent(getBukkitEntity(), player.getBukkitEntity()).callEvent()); // CraftBukkit // Paper - Add ElderGuardianAppearanceEvent list.forEach((entityplayer) -> { entityplayer.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.GUARDIAN_ELDER_EFFECT, this.isSilent() ? 0.0F : 1.0F)); diff --git a/patches/server/0605-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch b/patches/server/0605-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch index ef457d74af..53a98e7fb8 100644 --- a/patches/server/0605-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch +++ b/patches/server/0605-Optimize-Biome-Mob-Lookups-for-Mob-Spawning.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Optimize Biome Mob Lookups for Mob Spawning Uses an EnumMap as well as a Set paired List for O(1) contains calls. diff --git a/src/main/java/net/minecraft/world/level/biome/MobSpawnSettings.java b/src/main/java/net/minecraft/world/level/biome/MobSpawnSettings.java -index 4f4ef3349f512cc6e1588eb58de5b2558c0bd8b9..9e2f7fc64b284efd6388be35f250642c47e7603b 100644 +index 4f4ef3349f512cc6e1588eb58de5b2558c0bd8b9..b10dfbaef9bde9d94c4971b47d77a1514e476f86 100644 --- a/src/main/java/net/minecraft/world/level/biome/MobSpawnSettings.java +++ b/src/main/java/net/minecraft/world/level/biome/MobSpawnSettings.java @@ -61,11 +61,43 @@ public class MobSpawnSettings { @@ -14,7 +14,7 @@ index 4f4ef3349f512cc6e1588eb58de5b2558c0bd8b9..9e2f7fc64b284efd6388be35f250642c public static class Builder { - private final Map> spawners = Stream.of(MobCategory.values()).collect(ImmutableMap.toImmutableMap((mobCategory) -> { -+ // Paper start - keep track of data in a pair set to give O(1) contains calls - we have to hook removals incase plugins mess with it ++ // Paper start - Perf: keep track of data in a pair set to give O(1) contains calls - we have to hook removals incase plugins mess with it + public static class MobList extends java.util.ArrayList { + java.util.Set biomes = new java.util.HashSet<>(); + @@ -51,7 +51,7 @@ index 4f4ef3349f512cc6e1588eb58de5b2558c0bd8b9..9e2f7fc64b284efd6388be35f250642c - return Lists.newArrayList(); + return new MobList(); // Use MobList instead of ArrayList })); -+ // Paper end ++ // Paper end - Perf: keep track of data in a pair set to give O(1) contains calls private final Map, MobSpawnSettings.MobSpawnCost> mobSpawnCosts = Maps.newLinkedHashMap(); private float creatureGenerationProbability = 0.1F; diff --git a/patches/server/0607-Line-Of-Sight-Changes.patch b/patches/server/0607-Line-Of-Sight-Changes.patch index 7dc4e57a02..5748754b5c 100644 --- a/patches/server/0607-Line-Of-Sight-Changes.patch +++ b/patches/server/0607-Line-Of-Sight-Changes.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Line Of Sight Changes diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 383c39ac381f9a86693abb7935b5b142b889d7be..ca6e0f27b9d0c5d867909abd89262132bf1aa6bd 100644 +index 383c39ac381f9a86693abb7935b5b142b889d7be..e0524231da219dc4c7857ef7b39d4d018fa96ab2 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -3606,7 +3606,8 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -14,7 +14,7 @@ index 383c39ac381f9a86693abb7935b5b142b889d7be..ca6e0f27b9d0c5d867909abd89262132 - return vec3d1.distanceTo(vec3d) > 128.0D ? false : this.level().clipDirect(vec3d, vec3d1, net.minecraft.world.phys.shapes.CollisionContext.of(this)) == HitResult.Type.MISS; // Paper + // Paper - diff on change - used in CraftLivingEntity#hasLineOfSight(Location) and CraftWorld#lineOfSightExists -+ return vec3d1.distanceToSqr(vec3d) > 128.0D * 128.0D ? false : this.level().clipDirect(vec3d, vec3d1, net.minecraft.world.phys.shapes.CollisionContext.of(this)) == HitResult.Type.MISS; // Paper ++ return vec3d1.distanceToSqr(vec3d) > 128.0D * 128.0D ? false : this.level().clipDirect(vec3d, vec3d1, net.minecraft.world.phys.shapes.CollisionContext.of(this)) == HitResult.Type.MISS; // Paper - Perf: Use distance squared } } diff --git a/patches/server/0608-add-per-world-spawn-limits.patch b/patches/server/0608-add-per-world-spawn-limits.patch index c70252598b..6feaced1d0 100644 --- a/patches/server/0608-add-per-world-spawn-limits.patch +++ b/patches/server/0608-add-per-world-spawn-limits.patch @@ -3,10 +3,9 @@ From: chase Date: Wed, 2 Dec 2020 22:43:39 -0800 Subject: [PATCH] add per world spawn limits -Taken from #2982. Credit to Chasewhip8 diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index e88b42727ba0b87ba01933116b6ef456203d9dbb..a920936018a2e05ea72d68a83e6debb3807df353 100644 +index c0d02f7d714f7116b34b5a735b5520cf3a5a4587..d6b402d0bae4d16932e059f1da59ac4523d974b8 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -215,6 +215,13 @@ public class CraftWorld extends CraftRegionAccessor implements World { @@ -19,7 +18,7 @@ index e88b42727ba0b87ba01933116b6ef456203d9dbb..a920936018a2e05ea72d68a83e6debb3 + setSpawnLimit(spawnCategory, this.world.paperConfig().entities.spawning.spawnLimits.getInt(CraftSpawnCategory.toNMS(spawnCategory))); + } + } -+ // Paper end ++ // Paper end - per world spawn limits } @Override diff --git a/patches/server/0609-Fix-potions-splash-events.patch b/patches/server/0609-Fix-potions-splash-events.patch index e217ede002..12a8e49d26 100644 --- a/patches/server/0609-Fix-potions-splash-events.patch +++ b/patches/server/0609-Fix-potions-splash-events.patch @@ -8,18 +8,18 @@ Fixes SPIGOT-6221: https://hub.spigotmc.org/jira/projects/SPIGOT/issues/SPIGOT-6 Fix splash events cancellation that still show particles/sound diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java -index b87077c47a0131c5f4ca085b6b32e657043a9e1a..40307233e5bc67d538f580bc514a033c64d1316a 100644 +index b87077c47a0131c5f4ca085b6b32e657043a9e1a..bb116b0c75a311d0dc65c032a7727598890ef942 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java @@ -105,56 +105,77 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie Potion potionregistry = PotionUtils.getPotion(itemstack); List list = PotionUtils.getMobEffects(itemstack); boolean flag = potionregistry == Potions.WATER && list.isEmpty(); -+ boolean showParticles = true; // Paper ++ boolean showParticles = true; // Paper - Fix potions splash events if (flag) { - this.applyWater(); -+ showParticles = this.applyWater(); // Paper ++ showParticles = this.applyWater(); // Paper - Fix potions splash events } else if (true || !list.isEmpty()) { // CraftBukkit - Call event even if no effects to apply if (this.isLingering()) { - this.makeAreaOfEffectCloud(itemstack, potionregistry, hitResult); // CraftBukkit - Pass MovingObjectPosition @@ -30,21 +30,21 @@ index b87077c47a0131c5f4ca085b6b32e657043a9e1a..40307233e5bc67d538f580bc514a033c } } -+ if (showParticles) { // Paper ++ if (showParticles) { // Paper - Fix potions splash events int i = potionregistry.hasInstantEffects() ? 2007 : 2002; this.level().levelEvent(i, this.blockPosition(), PotionUtils.getColor(itemstack)); -+ } // Paper ++ } // Paper - Fix potions splash events this.discard(); } } - private void applyWater() { -+ private static final Predicate APPLY_WATER_GET_ENTITIES_PREDICATE = ThrownPotion.WATER_SENSITIVE_OR_ON_FIRE.or(Axolotl.class::isInstance); // Paper -+ private boolean applyWater() { // Paper ++ private static final Predicate APPLY_WATER_GET_ENTITIES_PREDICATE = ThrownPotion.WATER_SENSITIVE_OR_ON_FIRE.or(Axolotl.class::isInstance); // Paper - Fix potions splash events ++ private boolean applyWater() { // Paper - Fix potions splash events AABB axisalignedbb = this.getBoundingBox().inflate(4.0D, 2.0D, 4.0D); - List list = this.level().getEntitiesOfClass(net.minecraft.world.entity.LivingEntity.class, axisalignedbb, ThrownPotion.WATER_SENSITIVE_OR_ON_FIRE); -+ // Paper start ++ // Paper start - Fix potions splash events + List list = this.level().getEntitiesOfClass(net.minecraft.world.entity.LivingEntity.class, axisalignedbb, ThrownPotion.APPLY_WATER_GET_ENTITIES_PREDICATE); + Map affected = new HashMap<>(); + java.util.Set rehydrate = new java.util.HashSet<>(); @@ -93,14 +93,14 @@ index b87077c47a0131c5f4ca085b6b32e657043a9e1a..40307233e5bc67d538f580bc514a033c + axolotl.rehydrate(); + } + } -+ // Paper end ++ // Paper end - Fix potions splash events } -+ return !event.isCancelled(); // Paper ++ return !event.isCancelled(); // Paper - Fix potions splash events } - private void applySplash(List list, @Nullable Entity entity, HitResult position) { // CraftBukkit - Pass MovingObjectPosition -+ private boolean applySplash(List list, @Nullable Entity entity, HitResult position) { // CraftBukkit - Pass MovingObjectPosition // Paper - return boolean ++ private boolean applySplash(List list, @Nullable Entity entity, HitResult position) { // CraftBukkit - Pass MovingObjectPosition // Paper - Fix potions splash events AABB axisalignedbb = this.getBoundingBox().inflate(4.0D, 2.0D, 4.0D); List list1 = this.level().getEntitiesOfClass(net.minecraft.world.entity.LivingEntity.class, axisalignedbb); Map affected = new HashMap(); // CraftBukkit @@ -116,7 +116,7 @@ index b87077c47a0131c5f4ca085b6b32e657043a9e1a..40307233e5bc67d538f580bc514a033c } } } -+ return !event.isCancelled(); // Paper ++ return !event.isCancelled(); // Paper - Fix potions splash events } @@ -129,12 +129,12 @@ index b87077c47a0131c5f4ca085b6b32e657043a9e1a..40307233e5bc67d538f580bc514a033c entityareaeffectcloud.setPotion(potionregistry); Iterator iterator = PotionUtils.getCustomEffects(itemstack).iterator(); -+ boolean noEffects = potionregistry.getEffects().isEmpty(); // Paper ++ boolean noEffects = potionregistry.getEffects().isEmpty(); // Paper - Fix potions splash events while (iterator.hasNext()) { MobEffectInstance mobeffect = (MobEffectInstance) iterator.next(); entityareaeffectcloud.addEffect(new MobEffectInstance(mobeffect)); -+ noEffects = false; // Paper ++ noEffects = false; // Paper - Fix potions splash events } CompoundTag nbttagcompound = itemstack.getTag(); @@ -149,7 +149,7 @@ index b87077c47a0131c5f4ca085b6b32e657043a9e1a..40307233e5bc67d538f580bc514a033c entityareaeffectcloud.discard(); } // CraftBukkit end -+ return !event.isCancelled(); // Paper ++ return !event.isCancelled(); // Paper - Fix potions splash events } public boolean isLingering() { diff --git a/patches/server/0611-Fix-PlayerDropItemEvent-using-wrong-item.patch b/patches/server/0611-Fix-PlayerDropItemEvent-using-wrong-item.patch index b41a629e54..1d7d9b224f 100644 --- a/patches/server/0611-Fix-PlayerDropItemEvent-using-wrong-item.patch +++ b/patches/server/0611-Fix-PlayerDropItemEvent-using-wrong-item.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix PlayerDropItemEvent using wrong item diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 8766c1a6485b371c1d95804d7ad364fd5ba826de..76eb668311d2aa2659adf4f7857a670d81387830 100644 +index 8766c1a6485b371c1d95804d7ad364fd5ba826de..b5ee665fecb3e9e96cb937c92cef8579f9cbeb3d 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2391,7 +2391,7 @@ public class ServerPlayer extends Player { @@ -13,7 +13,7 @@ index 8766c1a6485b371c1d95804d7ad364fd5ba826de..76eb668311d2aa2659adf4f7857a670d if (retainOwnership) { if (!itemstack1.isEmpty()) { - this.awardStat(Stats.ITEM_DROPPED.get(itemstack1.getItem()), stack.getCount()); -+ this.awardStat(Stats.ITEM_DROPPED.get(itemstack1.getItem()), itemstack1.getCount()); // Paper ++ this.awardStat(Stats.ITEM_DROPPED.get(itemstack1.getItem()), itemstack1.getCount()); // Paper - Fix PlayerDropItemEvent using wrong item } this.awardStat(Stats.DROP); diff --git a/patches/server/0615-Use-getChunkIfLoadedImmediately-in-places.patch b/patches/server/0615-Use-getChunkIfLoadedImmediately-in-places.patch index b4bfba528c..25da2a7620 100644 --- a/patches/server/0615-Use-getChunkIfLoadedImmediately-in-places.patch +++ b/patches/server/0615-Use-getChunkIfLoadedImmediately-in-places.patch @@ -8,7 +8,7 @@ ticket level 33 (yes getChunkIfLoaded will actually perform a chunk load in that case). diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 8b2f72be4304ebab84fc46e6c4c0984abd8e8905..dbfd4a642e862f46a8b4fd1f3fc52c13ecf74284 100644 +index b858ee2fc8c03c52a6b6d703b1f770b3c496b2a8..45d5e5bd1ed37c4a3a658b27dc8571344580b65b 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -229,7 +229,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -16,30 +16,30 @@ index 8b2f72be4304ebab84fc46e6c4c0984abd8e8905..dbfd4a642e862f46a8b4fd1f3fc52c13 @Override public LevelChunk getChunkIfLoaded(int x, int z) { // Paper - this was added in world too but keeping here for NMS ABI - return this.chunkSource.getChunk(x, z, false); -+ return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper ++ return this.chunkSource.getChunkAtIfLoadedImmediately(x, z); // Paper - Use getChunkIfLoadedImmediately } @Override diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 761d01c993b60a11c749e172c3ee3067c055b582..35ca44c88497e0b07f43ba7bf092360365b1c53a 100644 +index 761d01c993b60a11c749e172c3ee3067c055b582..2069cad866a3fd2ed5512fa8fc6dc2ef8bc9758e 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -204,6 +204,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { return (CraftServer) Bukkit.getServer(); } -+ // Paper start ++ // Paper start - Use getChunkIfLoadedImmediately + @Override + public boolean hasChunk(int chunkX, int chunkZ) { + return this.getChunkIfLoaded(chunkX, chunkZ) != null; + } -+ // Paper end ++ // Paper end - Use getChunkIfLoadedImmediately + public abstract ResourceKey getTypeKey(); protected Level(WritableLevelData worlddatamutable, ResourceKey resourcekey, RegistryAccess iregistrycustom, Holder holder, Supplier supplier, boolean flag, boolean flag1, long i, int j, org.bukkit.generator.ChunkGenerator gen, org.bukkit.generator.BiomeProvider biomeProvider, org.bukkit.World.Environment env, java.util.function.Function paperWorldConfigCreator, java.util.concurrent.Executor executor) { // Paper - create paper world config; Async-Anti-Xray: Pass executor diff --git a/src/main/java/net/minecraft/world/level/gameevent/GameEventDispatcher.java b/src/main/java/net/minecraft/world/level/gameevent/GameEventDispatcher.java -index 0d5ae91a9b43df7b412968ab5faf5498c09169f9..744160405680babbb83c99abcbe2dc89bf312398 100644 +index 0d5ae91a9b43df7b412968ab5faf5498c09169f9..37ae0f928440af5b2fdfe68ad6c9c54e8c95c82c 100644 --- a/src/main/java/net/minecraft/world/level/gameevent/GameEventDispatcher.java +++ b/src/main/java/net/minecraft/world/level/gameevent/GameEventDispatcher.java @@ -55,7 +55,7 @@ public class GameEventDispatcher { @@ -47,7 +47,7 @@ index 0d5ae91a9b43df7b412968ab5faf5498c09169f9..744160405680babbb83c99abcbe2dc89 for (int l1 = j; l1 <= i1; ++l1) { for (int i2 = l; i2 <= k1; ++i2) { - LevelChunk chunk = this.level.getChunkSource().getChunkNow(l1, i2); -+ LevelChunk chunk = (LevelChunk) this.level.getChunkIfLoadedImmediately(l1, i2); // Paper ++ LevelChunk chunk = (LevelChunk) this.level.getChunkIfLoadedImmediately(l1, i2); // Paper - Use getChunkIfLoadedImmediately if (chunk != null) { for (int j2 = k; j2 <= j1; ++j2) { diff --git a/patches/server/0616-Fix-commands-from-signs-not-firing-command-events.patch b/patches/server/0616-Fix-commands-from-signs-not-firing-command-events.patch index 232fdb5f11..d2492dc891 100644 --- a/patches/server/0616-Fix-commands-from-signs-not-firing-command-events.patch +++ b/patches/server/0616-Fix-commands-from-signs-not-firing-command-events.patch @@ -58,7 +58,7 @@ index 0000000000000000000000000000000000000000..01a2bc1feec808790bb93618ce46adb9 + } +} diff --git a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java -index 1a54db9f8b2fb3071e79ec26c49242b528b8cd9e..da3d947c58bdb79372e64b2cea6e49b99a4a9ad8 100644 +index 1a54db9f8b2fb3071e79ec26c49242b528b8cd9e..393e6e5fb2c901cdf369cfe5bcde454dee2b1b0d 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/SignBlockEntity.java @@ -273,7 +273,17 @@ public class SignBlockEntity extends BlockEntity implements CommandSource { // C @@ -66,7 +66,7 @@ index 1a54db9f8b2fb3071e79ec26c49242b528b8cd9e..da3d947c58bdb79372e64b2cea6e49b9 if (chatclickable != null && chatclickable.getAction() == ClickEvent.Action.RUN_COMMAND) { - player.getServer().getCommands().performPrefixedCommand(this.createCommandSourceStack(player, world, pos), chatclickable.getValue()); -+ // Paper start ++ // Paper start - Fix commands from signs not firing command events + String command = chatclickable.getValue().startsWith("/") ? chatclickable.getValue() : "/" + chatclickable.getValue(); + if (org.spigotmc.SpigotConfig.logCommands) { + LOGGER.info("{} issued server command: {}", player.getScoreboardName(), command); @@ -76,7 +76,7 @@ index 1a54db9f8b2fb3071e79ec26c49242b528b8cd9e..da3d947c58bdb79372e64b2cea6e49b9 + return false; + } + player.getServer().getCommands().performPrefixedCommand(this.createCommandSourceStack(((org.bukkit.craftbukkit.entity.CraftPlayer) event.getPlayer()).getHandle(), world, pos), event.getMessage()); -+ // Paper end ++ // Paper end - Fix commands from signs not firing command events flag1 = true; } } @@ -84,7 +84,7 @@ index 1a54db9f8b2fb3071e79ec26c49242b528b8cd9e..da3d947c58bdb79372e64b2cea6e49b9 String s = player == null ? "Sign" : player.getName().getString(); Object object = player == null ? Component.literal("Sign") : player.getDisplayName(); -+ // Paper start - send messages back to the player ++ // Paper start - Fix commands from signs not firing command events + CommandSource commandSource = this.level.paperConfig().misc.showSignClickCommandFailureMsgsToPlayer ? new io.papermc.paper.commands.DelegatingCommandSource(this) { + @Override + public void sendSystemMessage(Component message) { @@ -98,15 +98,15 @@ index 1a54db9f8b2fb3071e79ec26c49242b528b8cd9e..da3d947c58bdb79372e64b2cea6e49b9 + return true; + } + } : this; -+ // Paper end ++ // Paper end - Fix commands from signs not firing command events // CraftBukkit - this - return new CommandSourceStack(this, Vec3.atCenterOf(pos), Vec2.ZERO, (ServerLevel) world, 2, s, (Component) object, world.getServer(), player); -+ return new CommandSourceStack(commandSource, Vec3.atCenterOf(pos), Vec2.ZERO, (ServerLevel) world, 2, s, (Component) object, world.getServer(), player); // Paper ++ return new CommandSourceStack(commandSource, Vec3.atCenterOf(pos), Vec2.ZERO, (ServerLevel) world, 2, s, (Component) object, world.getServer(), player); // Paper - Fix commands from signs not firing command events } @Override diff --git a/src/main/java/org/bukkit/craftbukkit/command/BukkitCommandWrapper.java b/src/main/java/org/bukkit/craftbukkit/command/BukkitCommandWrapper.java -index d113e54a30db16e2ad955170df6030d15de530d6..26f3a2799e687731d883e7733591f6934479e88d 100644 +index d113e54a30db16e2ad955170df6030d15de530d6..21b6f90cf5bd7087d1a0f512289d971f2c3e1afa 100644 --- a/src/main/java/org/bukkit/craftbukkit/command/BukkitCommandWrapper.java +++ b/src/main/java/org/bukkit/craftbukkit/command/BukkitCommandWrapper.java @@ -61,7 +61,7 @@ public class BukkitCommandWrapper implements com.mojang.brigadier.Command Date: Fri, 12 Mar 2021 19:22:21 -0800 -Subject: [PATCH] Adds PlayerArmSwingEvent +Subject: [PATCH] Add PlayerArmSwingEvent diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index fe969ecdca0e93319449f2fe3c3f41b4e17b385e..da21fdec10a10e4dcec3b0cadb72fa82ef56e4b4 100644 +index 0f0edc347beb179d96ed81e389a71aecd1e0e367..a7984c2454e40137b535c4a14034975339d66407 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -2333,7 +2333,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -13,7 +13,7 @@ index fe969ecdca0e93319449f2fe3c3f41b4e17b385e..da21fdec10a10e4dcec3b0cadb72fa82 // Arm swing animation - PlayerAnimationEvent event = new PlayerAnimationEvent(this.getCraftPlayer(), (packet.getHand() == InteractionHand.MAIN_HAND) ? PlayerAnimationType.ARM_SWING : PlayerAnimationType.OFF_ARM_SWING); -+ io.papermc.paper.event.player.PlayerArmSwingEvent event = new io.papermc.paper.event.player.PlayerArmSwingEvent(this.getCraftPlayer(), packet.getHand() == InteractionHand.MAIN_HAND ? org.bukkit.inventory.EquipmentSlot.HAND : org.bukkit.inventory.EquipmentSlot.OFF_HAND); // Paper ++ io.papermc.paper.event.player.PlayerArmSwingEvent event = new io.papermc.paper.event.player.PlayerArmSwingEvent(this.getCraftPlayer(), packet.getHand() == InteractionHand.MAIN_HAND ? org.bukkit.inventory.EquipmentSlot.HAND : org.bukkit.inventory.EquipmentSlot.OFF_HAND); // Paper - Add PlayerArmSwingEvent this.cserver.getPluginManager().callEvent(event); if (event.isCancelled()) return; diff --git a/patches/server/0618-Fixes-kick-event-leave-message-not-being-sent.patch b/patches/server/0618-Fix-kick-event-leave-message-not-being-sent.patch similarity index 86% rename from patches/server/0618-Fixes-kick-event-leave-message-not-being-sent.patch rename to patches/server/0618-Fix-kick-event-leave-message-not-being-sent.patch index 630accdbb9..d75e0723f7 100644 --- a/patches/server/0618-Fixes-kick-event-leave-message-not-being-sent.patch +++ b/patches/server/0618-Fix-kick-event-leave-message-not-being-sent.patch @@ -1,11 +1,11 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Wed, 7 Jul 2021 16:19:41 -0700 -Subject: [PATCH] Fixes kick event leave message not being sent +Subject: [PATCH] Fix kick event leave message not being sent diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 76eb668311d2aa2659adf4f7857a670d81387830..ae9acf496b866309d336ebd480a0b99aa03694df 100644 +index b5ee665fecb3e9e96cb937c92cef8579f9cbeb3d..4d1978b43a0b95a5fbdcd87a215d63163ec459b4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -273,7 +273,6 @@ public class ServerPlayer extends Player { @@ -17,18 +17,18 @@ index 76eb668311d2aa2659adf4f7857a670d81387830..ae9acf496b866309d336ebd480a0b99a public boolean isRealPlayer; // Paper public final com.destroystokyo.paper.util.misc.PooledLinkedHashSets.PooledObjectLinkedOpenHashSet cachedSingleHashSet; // Paper diff --git a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java -index 70458ff8c9bf6f3263868b0f5570840fe3d89ed2..d28d0ef6105ddeb562ddf31ae9088739856941fc 100644 +index 70458ff8c9bf6f3263868b0f5570840fe3d89ed2..134a84841a1e05b212794c00477f20eb30e53ec5 100644 --- a/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerCommonPacketListenerImpl.java @@ -77,6 +77,11 @@ public abstract class ServerCommonPacketListenerImpl implements ServerCommonPack @Override public void onDisconnect(Component reason) { -+ // Paper start ++ // Paper start - Fix kick event leave message not being sent + this.onDisconnect(reason, null); + } + public void onDisconnect(Component reason, @Nullable net.kyori.adventure.text.Component quitMessage) { -+ // Paper end ++ // Paper end - Fix kick event leave message not being sent if (this.isSingleplayerOwner()) { ServerCommonPacketListenerImpl.LOGGER.info("Stopping singleplayer server as player logged out"); this.server.halt(false); @@ -50,19 +50,19 @@ index 70458ff8c9bf6f3263868b0f5570840fe3d89ed2..d28d0ef6105ddeb562ddf31ae9088739 MinecraftServer minecraftserver = this.server; Connection networkmanager = this.connection; diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index da21fdec10a10e4dcec3b0cadb72fa82ef56e4b4..8ed347ad9e758a3d5df7110ea0b098a207f61094 100644 +index a7984c2454e40137b535c4a14034975339d66407..acde997a61660c1afd4d2a265de553c45bf8a11f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -1887,6 +1887,12 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void onDisconnect(Component reason) { -+ // Paper start ++ // Paper start - Fix kick event leave message not being sent + this.onDisconnect(reason, null); + } + @Override + public void onDisconnect(Component reason, @Nullable net.kyori.adventure.text.Component quitMessage) { -+ // Paper end ++ // Paper end - Fix kick event leave message not being sent // CraftBukkit start - Rarely it would send a disconnect line twice if (this.processedDisconnect) { return; @@ -72,17 +72,17 @@ index da21fdec10a10e4dcec3b0cadb72fa82ef56e4b4..8ed347ad9e758a3d5df7110ea0b098a2 ServerGamePacketListenerImpl.LOGGER.info("{} lost connection: {}", this.player.getName().getString(), reason.getString()); - this.removePlayerFromWorld(); - super.onDisconnect(reason); -+ this.removePlayerFromWorld(quitMessage); // Paper -+ super.onDisconnect(reason, quitMessage); // Paper ++ this.removePlayerFromWorld(quitMessage); // Paper - Fix kick event leave message not being sent ++ super.onDisconnect(reason, quitMessage); // Paper - Fix kick event leave message not being sent } -+ // Paper start ++ // Paper start - Fix kick event leave message not being sent private void removePlayerFromWorld() { + this.removePlayerFromWorld(null); + } + + private void removePlayerFromWorld(@Nullable net.kyori.adventure.text.Component quitMessage) { -+ // Paper end ++ // Paper end - Fix kick event leave message not being sent this.chatMessageChain.close(); // CraftBukkit start - Replace vanilla quit message handling with our own. /* @@ -96,18 +96,18 @@ index da21fdec10a10e4dcec3b0cadb72fa82ef56e4b4..8ed347ad9e758a3d5df7110ea0b098a2 this.server.getPlayerList().broadcastSystemMessage(PaperAdventure.asVanilla(quitMessage), false); // Paper end diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index ff387a1b9ef7165dc755daf672df5d83315b6b7c..29ad37a8d449b5addfd48ef46dde9835f34a057a 100644 +index ff387a1b9ef7165dc755daf672df5d83315b6b7c..75b81f0852241a8edc931e514f06d46583b6ac43 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -570,6 +570,11 @@ public abstract class PlayerList { } public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer) { // CraftBukkit - return string // Paper - return Component -+ // Paper start ++ // Paper start - Fix kick event leave message not being sent + return this.remove(entityplayer, net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? entityplayer.getBukkitEntity().displayName() : io.papermc.paper.adventure.PaperAdventure.asAdventure(entityplayer.getDisplayName()))); + } + public net.kyori.adventure.text.Component remove(ServerPlayer entityplayer, net.kyori.adventure.text.Component leaveMessage) { -+ // Paper end ++ // Paper end - Fix kick event leave message not being sent ServerLevel worldserver = entityplayer.serverLevel(); entityplayer.awardStat(Stats.LEAVE_GAME); diff --git a/patches/server/0619-Add-config-for-mobs-immune-to-default-effects.patch b/patches/server/0619-Add-config-for-mobs-immune-to-default-effects.patch index cf7f8ac4c4..a96216dd14 100644 --- a/patches/server/0619-Add-config-for-mobs-immune-to-default-effects.patch +++ b/patches/server/0619-Add-config-for-mobs-immune-to-default-effects.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add config for mobs immune to default effects diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index ca6e0f27b9d0c5d867909abd89262132bf1aa6bd..0e004d32250fea991c66caead50f2f64dbe0bbf7 100644 +index e0524231da219dc4c7857ef7b39d4d018fa96ab2..6518d7972f7902b3f7b65d7e5f6629491b531f22 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1164,7 +1164,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -13,12 +13,12 @@ index ca6e0f27b9d0c5d867909abd89262132bf1aa6bd..0e004d32250fea991c66caead50f2f64 MobEffect mobeffectlist = effect.getEffect(); - if (mobeffectlist == MobEffects.REGENERATION || mobeffectlist == MobEffects.POISON) { -+ if ((mobeffectlist == MobEffects.REGENERATION || mobeffectlist == MobEffects.POISON) && this.level().paperConfig().entities.mobEffects.undeadImmuneToCertainEffects) { // Paper ++ if ((mobeffectlist == MobEffects.REGENERATION || mobeffectlist == MobEffects.POISON) && this.level().paperConfig().entities.mobEffects.undeadImmuneToCertainEffects) { // Paper - Add config for mobs immune to default effects return false; } } diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 8241dbf7591b2f56b25cdc3ce9009c7133d2e4ef..2beece01e1b2acc69eeb92810ce14db01a311f23 100644 +index 8241dbf7591b2f56b25cdc3ce9009c7133d2e4ef..0a2c2b847dc516abf31870116056dbdbb22f31d9 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java @@ -606,7 +606,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -26,12 +26,12 @@ index 8241dbf7591b2f56b25cdc3ce9009c7133d2e4ef..2beece01e1b2acc69eeb92810ce14db0 @Override public boolean canBeAffected(MobEffectInstance effect) { - return effect.getEffect() == MobEffects.WITHER ? false : super.canBeAffected(effect); -+ return effect.getEffect() == MobEffects.WITHER && this.level().paperConfig().entities.mobEffects.immuneToWitherEffect.wither ? false : super.canBeAffected(effect); // Paper ++ return effect.getEffect() == MobEffects.WITHER && this.level().paperConfig().entities.mobEffects.immuneToWitherEffect.wither ? false : super.canBeAffected(effect); // Paper - Add config for mobs immune to default effects } private class WitherDoNothingGoal extends Goal { diff --git a/src/main/java/net/minecraft/world/entity/monster/Spider.java b/src/main/java/net/minecraft/world/entity/monster/Spider.java -index 6241baccd3fdee59175f616cdf69d3873074f855..9e5d68fe86d17118df3d6a1c36b296f32b4d7fc1 100644 +index 6241baccd3fdee59175f616cdf69d3873074f855..4d5cfaa58bdf4e6cb975134004d14c591f6e85fa 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Spider.java +++ b/src/main/java/net/minecraft/world/entity/monster/Spider.java @@ -135,7 +135,7 @@ public class Spider extends Monster { @@ -39,12 +39,12 @@ index 6241baccd3fdee59175f616cdf69d3873074f855..9e5d68fe86d17118df3d6a1c36b296f3 @Override public boolean canBeAffected(MobEffectInstance effect) { - return effect.getEffect() == MobEffects.POISON ? false : super.canBeAffected(effect); -+ return effect.getEffect() == MobEffects.POISON && this.level().paperConfig().entities.mobEffects.spidersImmuneToPoisonEffect ? false : super.canBeAffected(effect); // Paper ++ return effect.getEffect() == MobEffects.POISON && this.level().paperConfig().entities.mobEffects.spidersImmuneToPoisonEffect ? false : super.canBeAffected(effect); // Paper - Add config for mobs immune to default effects } public boolean isClimbing() { diff --git a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java -index 62943d43b701d9ae6d955003f4e7658f76d5bdb3..3dcd43279ce1295b37c3504ecbdaac5275df2b80 100644 +index 62943d43b701d9ae6d955003f4e7658f76d5bdb3..20a65c11ededcd7170704b70118da6200151fbab 100644 --- a/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java +++ b/src/main/java/net/minecraft/world/entity/monster/WitherSkeleton.java @@ -128,6 +128,6 @@ public class WitherSkeleton extends AbstractSkeleton { @@ -52,6 +52,6 @@ index 62943d43b701d9ae6d955003f4e7658f76d5bdb3..3dcd43279ce1295b37c3504ecbdaac52 @Override public boolean canBeAffected(MobEffectInstance effect) { - return effect.getEffect() == MobEffects.WITHER ? false : super.canBeAffected(effect); -+ return effect.getEffect() == MobEffects.WITHER && this.level().paperConfig().entities.mobEffects.immuneToWitherEffect.witherSkeleton ? false : super.canBeAffected(effect); // Paper ++ return effect.getEffect() == MobEffects.WITHER && this.level().paperConfig().entities.mobEffects.immuneToWitherEffect.witherSkeleton ? false : super.canBeAffected(effect); // Paper - Add config for mobs immune to default effects } } diff --git a/patches/server/0621-Rate-options-and-timings-for-sensors-and-behaviors.patch b/patches/server/0621-Rate-options-and-timings-for-sensors-and-behaviors.patch index 5ef4de39f3..b90b81a68f 100644 --- a/patches/server/0621-Rate-options-and-timings-for-sensors-and-behaviors.patch +++ b/patches/server/0621-Rate-options-and-timings-for-sensors-and-behaviors.patch @@ -28,7 +28,7 @@ index 4bd813161a5d76a83cdbd0a9209b9ea9e60ffe1b..e2764186bd6b838ed5cd86c15597a08d * Get a named timer for the specified tile entity type to track type specific timings. * @param entity diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/Behavior.java b/src/main/java/net/minecraft/world/entity/ai/behavior/Behavior.java -index 4ea437253539e3ee533ca9da77a337cbf4d1e807..57ef7fbba3028c28231abf7b7ae78aa019323536 100644 +index 4ea437253539e3ee533ca9da77a337cbf4d1e807..1e71cde7cb7654f1c21ae5e27e2fad7b58f593eb 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/Behavior.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/Behavior.java @@ -13,6 +13,10 @@ public abstract class Behavior implements BehaviorContro @@ -38,7 +38,7 @@ index 4ea437253539e3ee533ca9da77a337cbf4d1e807..57ef7fbba3028c28231abf7b7ae78aa0 + // Paper start - configurable behavior tick rate and timings + private final String configKey; + private final co.aikar.timings.Timing timing; -+ // Paper end ++ // Paper end - configurable behavior tick rate and timings public Behavior(Map, MemoryStatus> requiredMemoryState) { this(requiredMemoryState, 60); @@ -54,7 +54,7 @@ index 4ea437253539e3ee533ca9da77a337cbf4d1e807..57ef7fbba3028c28231abf7b7ae78aa0 + } + this.configKey = key.toLowerCase(java.util.Locale.ROOT); + this.timing = co.aikar.timings.MinecraftTimings.getBehaviorTimings(configKey); -+ // Paper end ++ // Paper end - configurable behavior tick rate and timings } @Override @@ -62,12 +62,12 @@ index 4ea437253539e3ee533ca9da77a337cbf4d1e807..57ef7fbba3028c28231abf7b7ae78aa0 @Override public final boolean tryStart(ServerLevel world, E entity, long time) { -+ // Paper start - behavior tick rate ++ // Paper start - configurable behavior tick rate and timings + int tickRate = java.util.Objects.requireNonNullElse(world.paperConfig().tickRates.behavior.get(entity.getType(), this.configKey), -1); + if (tickRate > -1 && time < this.endTimestamp + tickRate) { + return false; + } -+ // Paper end ++ // Paper end - configurable behavior tick rate and timings if (this.hasRequiredMemories(entity) && this.checkExtraStartConditions(world, entity)) { this.status = Behavior.Status.RUNNING; int i = this.minDuration + world.getRandom().nextInt(this.maxDuration + 1 - this.minDuration); diff --git a/patches/server/0622-Add-a-bunch-of-missing-forceDrop-toggles.patch b/patches/server/0622-Add-missing-forceDrop-toggles.patch similarity index 70% rename from patches/server/0622-Add-a-bunch-of-missing-forceDrop-toggles.patch rename to patches/server/0622-Add-missing-forceDrop-toggles.patch index 4a998000b2..4435a4ef01 100644 --- a/patches/server/0622-Add-a-bunch-of-missing-forceDrop-toggles.patch +++ b/patches/server/0622-Add-missing-forceDrop-toggles.patch @@ -1,34 +1,34 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Tue, 20 Jul 2021 21:25:35 -0700 -Subject: [PATCH] Add a bunch of missing forceDrop toggles +Subject: [PATCH] Add missing forceDrop toggles diff --git a/src/main/java/net/minecraft/world/entity/ai/behavior/WorkAtComposter.java b/src/main/java/net/minecraft/world/entity/ai/behavior/WorkAtComposter.java -index 012586360a48369dad243dbb8892579a1dbcca90..b4f0e80c507157cb0a807070c3375c2d305b8c40 100644 +index 012586360a48369dad243dbb8892579a1dbcca90..edeb1899996e53d276d7481e8eddee65249a07d3 100644 --- a/src/main/java/net/minecraft/world/entity/ai/behavior/WorkAtComposter.java +++ b/src/main/java/net/minecraft/world/entity/ai/behavior/WorkAtComposter.java @@ -87,7 +87,9 @@ public class WorkAtComposter extends WorkAtPoi { simpleContainer.removeItemType(Items.WHEAT, m); ItemStack itemStack = simpleContainer.addItem(new ItemStack(Items.BREAD, l)); if (!itemStack.isEmpty()) { -+ entity.forceDrops = true; // Paper ++ entity.forceDrops = true; // Paper - Add missing forceDrop toggles entity.spawnAtLocation(itemStack, 0.5F); -+ entity.forceDrops = false; // Paper ++ entity.forceDrops = false; // Paper - Add missing forceDrop toggles } } diff --git a/src/main/java/net/minecraft/world/entity/animal/Panda.java b/src/main/java/net/minecraft/world/entity/animal/Panda.java -index 27e1ed14f2ae4f7922c7c3bc1ac21156bafcb0ba..130761afcaa6723e0a9d9a518f1b526c344484b4 100644 +index 27e1ed14f2ae4f7922c7c3bc1ac21156bafcb0ba..eb61d539fcf15dfc51b3ea52c232a0c7ef4f1ca9 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Panda.java +++ b/src/main/java/net/minecraft/world/entity/animal/Panda.java @@ -534,7 +534,9 @@ public class Panda extends Animal { } if (!this.level().isClientSide() && this.random.nextInt(700) == 0 && this.level().getGameRules().getBoolean(GameRules.RULE_DOMOBLOOT)) { -+ this.forceDrops = true; // Paper ++ this.forceDrops = true; // Paper - Add missing forceDrop toggles this.spawnAtLocation((ItemLike) Items.SLIME_BALL); -+ this.forceDrops = false; // Paper ++ this.forceDrops = false; // Paper - Add missing forceDrop toggles } } @@ -36,9 +36,9 @@ index 27e1ed14f2ae4f7922c7c3bc1ac21156bafcb0ba..130761afcaa6723e0a9d9a518f1b526c ItemStack itemstack1 = this.getItemBySlot(EquipmentSlot.MAINHAND); if (!itemstack1.isEmpty() && !player.getAbilities().instabuild) { -+ this.forceDrops = true; // Paper ++ this.forceDrops = true; // Paper - Add missing forceDrop toggles this.spawnAtLocation(itemstack1); -+ this.forceDrops = false; // Paper ++ this.forceDrops = false; // Paper - Add missing forceDrop toggles } this.setItemSlot(EquipmentSlot.MAINHAND, new ItemStack(itemstack.getItem(), 1)); @@ -46,37 +46,37 @@ index 27e1ed14f2ae4f7922c7c3bc1ac21156bafcb0ba..130761afcaa6723e0a9d9a518f1b526c ItemStack itemstack = Panda.this.getItemBySlot(EquipmentSlot.MAINHAND); if (!itemstack.isEmpty()) { -+ Panda.this.forceDrops = true; // Paper ++ Panda.this.forceDrops = true; // Paper - Add missing forceDrop toggles Panda.this.spawnAtLocation(itemstack); -+ Panda.this.forceDrops = false; // Paper ++ Panda.this.forceDrops = false; // Paper - Add missing forceDrop toggles Panda.this.setItemSlot(EquipmentSlot.MAINHAND, ItemStack.EMPTY); int i = Panda.this.isLazy() ? Panda.this.random.nextInt(50) + 10 : Panda.this.random.nextInt(150) + 10; diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java -index 8231b48a9e88adb2a1ca3441ee81e3d653c9ae78..1c42425b9211bea7cb189e967e566ad80fd278c2 100644 +index 8231b48a9e88adb2a1ca3441ee81e3d653c9ae78..ea0902b4ba68a89b1f51281b10c1dfd1bfb42833 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/Piglin.java @@ -317,7 +317,9 @@ public class Piglin extends AbstractPiglin implements CrossbowAttackMob, Invento @Override protected void finishConversion(ServerLevel world) { PiglinAi.cancelAdmiring(this); -+ this.forceDrops = true; // Paper ++ this.forceDrops = true; // Paper - Add missing forceDrop toggles this.inventory.removeAllItems().forEach(this::spawnAtLocation); -+ this.forceDrops = false; // Paper ++ this.forceDrops = false; // Paper - Add missing forceDrop toggles super.finishConversion(world); } diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinAi.java b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinAi.java -index a780b22553a65814c3d8bc21ad68b8bbdbaa3475..86bb0ac321da9a93065dfe40f33dc8417f092269 100644 +index a780b22553a65814c3d8bc21ad68b8bbdbaa3475..e00a1e6031b6de0f6900e004c9e9c97b0d84f8d3 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinAi.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinAi.java @@ -270,7 +270,9 @@ public class PiglinAi { private static void holdInOffhand(Piglin piglin, ItemStack stack) { if (PiglinAi.isHoldingItemInOffHand(piglin)) { -+ piglin.forceDrops = true; // Paper ++ piglin.forceDrops = true; // Paper - Add missing forceDrop toggles piglin.spawnAtLocation(piglin.getItemInHand(InteractionHand.OFF_HAND)); -+ piglin.forceDrops = false; // Paper ++ piglin.forceDrops = false; // Paper - Add missing forceDrop toggles } piglin.holdInOffHand(stack); @@ -84,23 +84,23 @@ index a780b22553a65814c3d8bc21ad68b8bbdbaa3475..86bb0ac321da9a93065dfe40f33dc841 protected static void cancelAdmiring(Piglin piglin) { if (PiglinAi.isAdmiringItem(piglin) && !piglin.getOffhandItem().isEmpty()) { -+ piglin.forceDrops = true; // Paper ++ piglin.forceDrops = true; // Paper - Add missing forceDrop toggles piglin.spawnAtLocation(piglin.getOffhandItem()); -+ piglin.forceDrops = false; // Paper ++ piglin.forceDrops = false; // Paper - Add missing forceDrop toggles piglin.setItemInHand(InteractionHand.OFF_HAND, ItemStack.EMPTY); } diff --git a/src/main/java/net/minecraft/world/entity/raid/Raider.java b/src/main/java/net/minecraft/world/entity/raid/Raider.java -index 49e07b33fccfe339712e5d1bd72e6c0edbd2e922..5538f7a9024d8708b70de836aa78a4015656a828 100644 +index 49e07b33fccfe339712e5d1bd72e6c0edbd2e922..798a774c19361bfaf8583a602192e9e547fa85e8 100644 --- a/src/main/java/net/minecraft/world/entity/raid/Raider.java +++ b/src/main/java/net/minecraft/world/entity/raid/Raider.java @@ -250,7 +250,9 @@ public abstract class Raider extends PatrollingMonster { double d0 = (double) this.getEquipmentDropChance(enumitemslot); if (!itemstack1.isEmpty() && (double) Math.max(this.random.nextFloat() - 0.1F, 0.0F) < d0) { -+ this.forceDrops = true; // Paper ++ this.forceDrops = true; // Paper - Add missing forceDrop toggles this.spawnAtLocation(itemstack1); -+ this.forceDrops = false; // Paper ++ this.forceDrops = false; // Paper - Add missing forceDrop toggles } this.onItemPickup(item); diff --git a/patches/server/0627-Improve-boat-collision-performance.patch b/patches/server/0627-Improve-boat-collision-performance.patch index 7ea9341f29..42d74007a7 100644 --- a/patches/server/0627-Improve-boat-collision-performance.patch +++ b/patches/server/0627-Improve-boat-collision-performance.patch @@ -5,19 +5,19 @@ Subject: [PATCH] Improve boat collision performance diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java -index 8188febd6f1039a31619b42af23df18afd2e985c..e67a2aa92f9c9bb5a4ba9fc869aa738a43cd8595 100644 +index 90f5e7d36719dc9b464dd6ba0335da035bab29d3..006a7876a0c8e1180dada6694992f596948be53b 100644 --- a/src/main/java/net/minecraft/Util.java +++ b/src/main/java/net/minecraft/Util.java @@ -121,6 +121,7 @@ public class Util { }).findFirst().orElseThrow(() -> { return new IllegalStateException("No jar file system provider found"); }); -+ public static final double COLLISION_EPSILON = 1.0E-7; // Paper ++ public static final double COLLISION_EPSILON = 1.0E-7; // Paper - Improve boat collision performance private static Consumer thePauser = (message) -> { }; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 0e004d32250fea991c66caead50f2f64dbe0bbf7..b137ce3be71fa92cb196f5725dd7cfc71f93fcf7 100644 +index 6518d7972f7902b3f7b65d7e5f6629491b531f22..394af8382455d2a039534b87142679f52dc8f2a6 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -1413,7 +1413,7 @@ public abstract class LivingEntity extends Entity implements Attackable { @@ -25,7 +25,7 @@ index 0e004d32250fea991c66caead50f2f64dbe0bbf7..b137ce3be71fa92cb196f5725dd7cfc7 Entity entity = source.getDirectEntity(); - if (entity instanceof LivingEntity) { -+ if (entity instanceof LivingEntity && entity.distanceToSqr(this) <= (200.0D * 200.0D)) { // Paper ++ if (entity instanceof LivingEntity && entity.distanceToSqr(this) <= (200.0D * 200.0D)) { // Paper - Improve boat collision performance LivingEntity entityliving = (LivingEntity) entity; this.blockUsingShield(entityliving); @@ -34,13 +34,13 @@ index 0e004d32250fea991c66caead50f2f64dbe0bbf7..b137ce3be71fa92cb196f5725dd7cfc7 if (entity1 != null && !source.is(DamageTypeTags.NO_KNOCKBACK)) { - double d0 = entity1.getX() - this.getX(); -+ final boolean far = entity1.distanceToSqr(this) > (200.0 * 200.0); // Paper -+ double d0 = far ? (Math.random() - Math.random()) : entity1.getX() - this.getX(); // Paper ++ final boolean far = entity1.distanceToSqr(this) > (200.0 * 200.0); // Paper - Improve boat collision performance ++ double d0 = far ? (Math.random() - Math.random()) : entity1.getX() - this.getX(); // Paper - Improve boat collision performance double d1; - for (d1 = entity1.getZ() - this.getZ(); d0 * d0 + d1 * d1 < 1.0E-4D; d1 = (Math.random() - Math.random()) * 0.01D) { -+ for (d1 = far ? Math.random() - Math.random() : entity1.getZ() - this.getZ(); d0 * d0 + d1 * d1 < 1.0E-4D; d1 = (Math.random() - Math.random()) * 0.01D) { // Paper ++ for (d1 = far ? Math.random() - Math.random() : entity1.getZ() - this.getZ(); d0 * d0 + d1 * d1 < 1.0E-4D; d1 = (Math.random() - Math.random()) * 0.01D) { // Paper - Improve boat collision performance d0 = (Math.random() - Math.random()) * 0.01D; } @@ -49,12 +49,12 @@ index 0e004d32250fea991c66caead50f2f64dbe0bbf7..b137ce3be71fa92cb196f5725dd7cfc7 Entity entity = damagesource.getDirectEntity(); - if (entity instanceof LivingEntity) { -+ if (entity instanceof LivingEntity && entity.distanceToSqr(this) <= (200.0D * 200.0D)) { // Paper ++ if (entity instanceof LivingEntity && entity.distanceToSqr(this) <= (200.0D * 200.0D)) { // Paper - Improve boat collision performance this.blockUsingShield((LivingEntity) entity); } } 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 8b0efc4d78a04effddae0799b7ee5759ed5c720f..c041c0b81be41cfd128c2f5ba56a5329d50b2efc 100644 +index 8b0efc4d78a04effddae0799b7ee5759ed5c720f..dfd53ca465c9d4864020c14a49f4e74b717df5d6 100644 --- a/src/main/java/net/minecraft/world/entity/vehicle/Boat.java +++ b/src/main/java/net/minecraft/world/entity/vehicle/Boat.java @@ -689,8 +689,8 @@ public class Boat extends VehicleEntity implements VariantHolder { @@ -63,8 +63,8 @@ index 8b0efc4d78a04effddae0799b7ee5759ed5c720f..c041c0b81be41cfd128c2f5ba56a5329 this.waterLevel = this.getY(1.0D); - this.setPos(this.getX(), (double) (this.getWaterLevelAbove() - this.getBbHeight()) + 0.101D, this.getZ()); - this.setDeltaMovement(this.getDeltaMovement().multiply(1.0D, 0.0D, 1.0D)); -+ this.move(MoverType.SELF, new Vec3(0.0, ((double) (this.getWaterLevelAbove() - this.getBbHeight()) + 0.101D) - this.getY(), 0.0)); // Paper -+ this.setDeltaMovement(this.getDeltaMovement().multiply(1.0D, 0.0D, 1.0D)); // Paper ++ this.move(MoverType.SELF, new Vec3(0.0, ((double) (this.getWaterLevelAbove() - this.getBbHeight()) + 0.101D) - this.getY(), 0.0)); // Paper - Improve boat collision performance ++ this.setDeltaMovement(this.getDeltaMovement().multiply(1.0D, 0.0D, 1.0D)); // Paper - Improve boat collision performance this.lastYd = 0.0D; this.status = Boat.Status.IN_WATER; } else { diff --git a/patches/server/0628-Prevent-AFK-kick-while-watching-end-credits.patch b/patches/server/0628-Prevent-AFK-kick-while-watching-end-credits.patch index 08e7d79e1e..c65dc42ee2 100644 --- a/patches/server/0628-Prevent-AFK-kick-while-watching-end-credits.patch +++ b/patches/server/0628-Prevent-AFK-kick-while-watching-end-credits.patch @@ -1,11 +1,11 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Noah van der Aa Date: Sat, 24 Jul 2021 16:54:11 +0200 -Subject: [PATCH] Prevent AFK kick while watching end credits. +Subject: [PATCH] Prevent AFK kick while watching end credits diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8ed347ad9e758a3d5df7110ea0b098a207f61094..28fdf5f4df4b61383e6d132f603c50ec35f62024 100644 +index acde997a61660c1afd4d2a265de553c45bf8a11f..9573db9b35b1eae861af18d5eb4ce54a6648786f 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -390,7 +390,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @@ -13,7 +13,7 @@ index 8ed347ad9e758a3d5df7110ea0b098a207f61094..28fdf5f4df4b61383e6d132f603c50ec } - if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) this.server.getPlayerIdleTimeout() * 1000L * 60L) { -+ if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) this.server.getPlayerIdleTimeout() * 1000L * 60L && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits. ++ if (this.player.getLastActionTime() > 0L && this.server.getPlayerIdleTimeout() > 0 && Util.getMillis() - this.player.getLastActionTime() > (long) this.server.getPlayerIdleTimeout() * 1000L * 60L && !this.player.wonGame) { // Paper - Prevent AFK kick while watching end credits this.player.resetLastActionTime(); // CraftBukkit - SPIGOT-854 this.disconnect(Component.translatable("multiplayer.disconnect.idling"), org.bukkit.event.player.PlayerKickEvent.Cause.IDLING); // Paper - kick event cause } diff --git a/patches/server/0629-Allow-skipping-writing-of-comments-to-server.propert.patch b/patches/server/0629-Allow-skipping-writing-of-comments-to-server.propert.patch index 5f22e4194a..5edf383235 100644 --- a/patches/server/0629-Allow-skipping-writing-of-comments-to-server.propert.patch +++ b/patches/server/0629-Allow-skipping-writing-of-comments-to-server.propert.patch @@ -8,7 +8,7 @@ Makes less git noise, as it won't update the date every single time Use -DPaper.skipServerPropertiesComments=true flag to disable writing it diff --git a/src/main/java/net/minecraft/server/dedicated/Settings.java b/src/main/java/net/minecraft/server/dedicated/Settings.java -index fc45c2c4ecdf3906df6bceaf3e019c462fe62186..f04bfbef6876ceb1fc7d28d9f964b730d1e5c238 100644 +index fc45c2c4ecdf3906df6bceaf3e019c462fe62186..61bf3ccf998bcb9ebd80e983566e7181a73f0e30 100644 --- a/src/main/java/net/minecraft/server/dedicated/Settings.java +++ b/src/main/java/net/minecraft/server/dedicated/Settings.java @@ -29,6 +29,7 @@ public abstract class Settings> { @@ -24,7 +24,7 @@ index fc45c2c4ecdf3906df6bceaf3e019c462fe62186..f04bfbef6876ceb1fc7d28d9f964b730 } // CraftBukkit end - BufferedWriter bufferedwriter = Files.newBufferedWriter(path, StandardCharsets.UTF_8); -+ // Paper start - disable writing comments to properties file ++ // Paper start - allow skipping server.properties comments + java.io.OutputStream outputstream = Files.newOutputStream(path); + java.io.BufferedOutputStream bufferedOutputStream = !skipComments ? new java.io.BufferedOutputStream(outputstream) : new java.io.BufferedOutputStream(outputstream) { + private boolean isRightAfterNewline = true; // If last written char was newline @@ -63,7 +63,7 @@ index fc45c2c4ecdf3906df6bceaf3e019c462fe62186..f04bfbef6876ceb1fc7d28d9f964b730 + } + }; + BufferedWriter bufferedwriter = new BufferedWriter(new java.io.OutputStreamWriter(bufferedOutputStream, java.nio.charset.StandardCharsets.UTF_8.newEncoder())); -+ // Paper end ++ // Paper end - allow skipping server.properties comments try { this.properties.store(bufferedwriter, "Minecraft server properties"); diff --git a/patches/server/0630-Add-PlayerSetSpawnEvent.patch b/patches/server/0630-Add-PlayerSetSpawnEvent.patch index 154380d736..1fe455032e 100644 --- a/patches/server/0630-Add-PlayerSetSpawnEvent.patch +++ b/patches/server/0630-Add-PlayerSetSpawnEvent.patch @@ -5,51 +5,51 @@ Subject: [PATCH] Add PlayerSetSpawnEvent diff --git a/src/main/java/net/minecraft/server/commands/SetSpawnCommand.java b/src/main/java/net/minecraft/server/commands/SetSpawnCommand.java -index a2d0699e8427b2262a2396495111125eccafbb66..d797637f61bdf8a424f56fbb48e28b7c9117d604 100644 +index a2d0699e8427b2262a2396495111125eccafbb66..15db9368227dbc29d07d74e85bd126b345b526b6 100644 --- a/src/main/java/net/minecraft/server/commands/SetSpawnCommand.java +++ b/src/main/java/net/minecraft/server/commands/SetSpawnCommand.java @@ -38,24 +38,34 @@ public class SetSpawnCommand { ResourceKey resourcekey = source.getLevel().dimension(); Iterator iterator = targets.iterator(); -+ final Collection actualTargets = new java.util.ArrayList<>(); // Paper ++ final Collection actualTargets = new java.util.ArrayList<>(); // Paper - Add PlayerSetSpawnEvent while (iterator.hasNext()) { ServerPlayer entityplayer = (ServerPlayer) iterator.next(); - entityplayer.setRespawnPosition(resourcekey, pos, angle, true, false, org.bukkit.event.player.PlayerSpawnChangeEvent.Cause.COMMAND); // CraftBukkit -+ // Paper start - PlayerSetSpawnEvent ++ // Paper start - Add PlayerSetSpawnEvent + if (entityplayer.setRespawnPosition(resourcekey, pos, angle, true, false, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.COMMAND)) { + actualTargets.add(entityplayer); + } -+ // Paper end ++ // Paper end - Add PlayerSetSpawnEvent } -+ // Paper start ++ // Paper start - Add PlayerSetSpawnEvent + if (actualTargets.isEmpty()) { + return 0; + } -+ // Paper end ++ // Paper end - Add PlayerSetSpawnEvent String s = resourcekey.location().toString(); - if (targets.size() == 1) { -+ if (actualTargets.size() == 1) { // Paper ++ if (actualTargets.size() == 1) { // Paper - Add PlayerSetSpawnEvent source.sendSuccess(() -> { - return Component.translatable("commands.spawnpoint.success.single", pos.getX(), pos.getY(), pos.getZ(), angle, s, ((ServerPlayer) targets.iterator().next()).getDisplayName()); -+ return Component.translatable("commands.spawnpoint.success.single", pos.getX(), pos.getY(), pos.getZ(), angle, s, ((ServerPlayer) actualTargets.iterator().next()).getDisplayName()); // Paper ++ return Component.translatable("commands.spawnpoint.success.single", pos.getX(), pos.getY(), pos.getZ(), angle, s, ((ServerPlayer) actualTargets.iterator().next()).getDisplayName()); // Paper - Add PlayerSetSpawnEvent }, true); } else { source.sendSuccess(() -> { - return Component.translatable("commands.spawnpoint.success.multiple", pos.getX(), pos.getY(), pos.getZ(), angle, s, targets.size()); -+ return Component.translatable("commands.spawnpoint.success.multiple", pos.getX(), pos.getY(), pos.getZ(), angle, s, actualTargets.size()); // Paper ++ return Component.translatable("commands.spawnpoint.success.multiple", pos.getX(), pos.getY(), pos.getZ(), angle, s, actualTargets.size()); // Paper - Add PlayerSetSpawnEvent }, true); } - return targets.size(); -+ return actualTargets.size(); // Paper ++ return actualTargets.size(); // Paper - Add PlayerSetSpawnEvent } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index b49b56848bdbbd07c49e44d85997fa36192332c5..9f7c149d3ad1175d55ec02e295ee43bc571c3280 100644 +index 29e94d937f88763fef3c1f748e110cd1dae9a27b..b14f65b657c1a00923bec4a338e06e39f6642dfc 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -1356,7 +1356,7 @@ public class ServerPlayer extends Player { @@ -57,7 +57,7 @@ index b49b56848bdbbd07c49e44d85997fa36192332c5..9f7c149d3ad1175d55ec02e295ee43bc return Either.left(Player.BedSleepingProblem.OBSTRUCTED); } else { - this.setRespawnPosition(this.level().dimension(), blockposition, this.getYRot(), false, true, PlayerSpawnChangeEvent.Cause.BED); // CraftBukkit -+ this.setRespawnPosition(this.level().dimension(), blockposition, this.getYRot(), false, true, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.BED); // Paper - PlayerSetSpawnEvent ++ this.setRespawnPosition(this.level().dimension(), blockposition, this.getYRot(), false, true, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.BED); // Paper - Add PlayerSetSpawnEvent if (this.level().isDay()) { return Either.left(Player.BedSleepingProblem.NOT_POSSIBLE_NOW); } else { @@ -65,7 +65,7 @@ index b49b56848bdbbd07c49e44d85997fa36192332c5..9f7c149d3ad1175d55ec02e295ee43bc return this.respawnForced; } -+ @Deprecated // Paper ++ @Deprecated // Paper - Add PlayerSetSpawnEvent public void setRespawnPosition(ResourceKey dimension, @Nullable BlockPos pos, float angle, boolean forced, boolean sendMessage) { - // CraftBukkit start - this.setRespawnPosition(dimension, pos, angle, forced, sendMessage, PlayerSpawnChangeEvent.Cause.UNKNOWN); @@ -91,7 +91,7 @@ index b49b56848bdbbd07c49e44d85997fa36192332c5..9f7c149d3ad1175d55ec02e295ee43bc - resourcekey = Level.OVERWORLD; - blockposition = null; - f = 0.0F; -+ // Paper start ++ // Paper start - Add PlayerSetSpawnEvent + this.setRespawnPosition(dimension, pos, angle, forced, sendMessage, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.UNKNOWN); + } + @Deprecated @@ -126,12 +126,12 @@ index b49b56848bdbbd07c49e44d85997fa36192332c5..9f7c149d3ad1175d55ec02e295ee43bc + pos = io.papermc.paper.util.MCUtil.toBlockPosition(event.getLocation()); + angle = event.getLocation().getYaw(); + forced = event.isForced(); -+ // Paper end ++ // Paper end - Add PlayerSetSpawnEvent - if (flag1 && !flag2) { - this.sendSystemMessage(Component.translatable("block.minecraft.set_spawn")); -+ if (event.willNotifyPlayer() && event.getNotification() != null) { // Paper -+ this.sendSystemMessage(PaperAdventure.asVanilla(event.getNotification())); // Paper ++ if (event.willNotifyPlayer() && event.getNotification() != null) { // Paper - Add PlayerSetSpawnEvent ++ this.sendSystemMessage(PaperAdventure.asVanilla(event.getNotification())); // Paper - Add PlayerSetSpawnEvent } - this.respawnPosition = blockposition; @@ -149,12 +149,12 @@ index b49b56848bdbbd07c49e44d85997fa36192332c5..9f7c149d3ad1175d55ec02e295ee43bc this.respawnForced = false; } -+ return true; // Paper ++ return true; // Paper - Add PlayerSetSpawnEvent } public SectionPos getLastSectionPos() { diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 29ad37a8d449b5addfd48ef46dde9835f34a057a..f7588787769902506e317bdb052483c5dc377693 100644 +index 75b81f0852241a8edc931e514f06d46583b6ac43..a0a17fa35c5333655afa8e4e8b3a66ffa41bcc24 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -872,7 +872,7 @@ public abstract class PlayerList { @@ -162,12 +162,12 @@ index 29ad37a8d449b5addfd48ef46dde9835f34a057a..f7588787769902506e317bdb052483c5 } else if (blockposition != null) { entityplayer1.connection.send(new ClientboundGameEventPacket(ClientboundGameEventPacket.NO_RESPAWN_BLOCK_AVAILABLE, 0.0F)); - entityplayer1.setRespawnPosition(null, null, 0f, false, false, PlayerSpawnChangeEvent.Cause.RESET); // CraftBukkit - SPIGOT-5988: Clear respawn location when obstructed -+ entityplayer1.setRespawnPosition(null, null, 0f, false, false, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.PLAYER_RESPAWN); // CraftBukkit - SPIGOT-5988: Clear respawn location when obstructed // Paper - PlayerSetSpawnEvent ++ entityplayer1.setRespawnPosition(null, null, 0f, false, false, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.PLAYER_RESPAWN); // CraftBukkit - SPIGOT-5988: Clear respawn location when obstructed // Paper - Add PlayerSetSpawnEvent } } diff --git a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java -index ecaa7f0b2bf795f16187f11fa27f6d5d435ccbfe..c83ffba568f33323b0f8b9a03fa0b7bbbfed4355 100644 +index ecaa7f0b2bf795f16187f11fa27f6d5d435ccbfe..acd5ec218b8d4c096f44ae2eec1379eeaf30ddc5 100644 --- a/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java +++ b/src/main/java/net/minecraft/world/level/block/RespawnAnchorBlock.java @@ -87,9 +87,14 @@ public class RespawnAnchorBlock extends Block { @@ -175,19 +175,19 @@ index ecaa7f0b2bf795f16187f11fa27f6d5d435ccbfe..c83ffba568f33323b0f8b9a03fa0b7bb if (entityplayer.getRespawnDimension() != world.dimension() || !pos.equals(entityplayer.getRespawnPosition())) { - entityplayer.setRespawnPosition(world.dimension(), pos, 0.0F, false, true, org.bukkit.event.player.PlayerSpawnChangeEvent.Cause.RESPAWN_ANCHOR); // CraftBukkit -+ if (entityplayer.setRespawnPosition(world.dimension(), pos, 0.0F, false, true, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.RESPAWN_ANCHOR)) { // Paper - PlayerSetSpawnEvent ++ if (entityplayer.setRespawnPosition(world.dimension(), pos, 0.0F, false, true, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.RESPAWN_ANCHOR)) { // Paper - Add PlayerSetSpawnEvent world.playSound((Player) null, (double) pos.getX() + 0.5D, (double) pos.getY() + 0.5D, (double) pos.getZ() + 0.5D, SoundEvents.RESPAWN_ANCHOR_SET_SPAWN, SoundSource.BLOCKS, 1.0F, 1.0F); return InteractionResult.SUCCESS; -+ // Paper start - handle failed set spawn ++ // Paper start - Add PlayerSetSpawnEvent + } else { + return InteractionResult.FAIL; + } -+ // Paper end ++ // Paper end - Add PlayerSetSpawnEvent } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 11507cbf0f213079b39b35d06f8fc675d437469b..cb72755c1b1e04797dbe99612d7bdd0bfd4b540e 100644 +index 11507cbf0f213079b39b35d06f8fc675d437469b..97d489d0130e5854b82be73cd538c3305737f3be 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -1318,9 +1318,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -195,10 +195,10 @@ index 11507cbf0f213079b39b35d06f8fc675d437469b..cb72755c1b1e04797dbe99612d7bdd0b public void setBedSpawnLocation(Location location, boolean override) { if (location == null) { - this.getHandle().setRespawnPosition(null, null, 0.0F, override, false, PlayerSpawnChangeEvent.Cause.PLUGIN); -+ this.getHandle().setRespawnPosition(null, null, 0.0F, override, false, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.PLUGIN); // Paper - PlayerSetSpawnEvent ++ this.getHandle().setRespawnPosition(null, null, 0.0F, override, false, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.PLUGIN); // Paper - Add PlayerSetSpawnEvent } else { - this.getHandle().setRespawnPosition(((CraftWorld) location.getWorld()).getHandle().dimension(), CraftLocation.toBlockPosition(location), location.getYaw(), override, false, PlayerSpawnChangeEvent.Cause.PLUGIN); -+ this.getHandle().setRespawnPosition(((CraftWorld) location.getWorld()).getHandle().dimension(), CraftLocation.toBlockPosition(location), location.getYaw(), override, false, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.PLUGIN); // Paper - PlayerSetSpawnEvent ++ this.getHandle().setRespawnPosition(((CraftWorld) location.getWorld()).getHandle().dimension(), CraftLocation.toBlockPosition(location), location.getYaw(), override, false, com.destroystokyo.paper.event.player.PlayerSetSpawnEvent.Cause.PLUGIN); // Paper - Add PlayerSetSpawnEvent } } diff --git a/patches/server/0631-Make-hoppers-respect-inventory-max-stack-size.patch b/patches/server/0631-Make-hoppers-respect-inventory-max-stack-size.patch index 45531b8594..f29d30a2c5 100644 --- a/patches/server/0631-Make-hoppers-respect-inventory-max-stack-size.patch +++ b/patches/server/0631-Make-hoppers-respect-inventory-max-stack-size.patch @@ -5,26 +5,26 @@ Subject: [PATCH] Make hoppers respect inventory max stack size diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index d83b0c58ea9fba6ba0060ee20c3e8251561f301a..f98367830e87d5f1428448931f756d9277699563 100644 +index d83b0c58ea9fba6ba0060ee20c3e8251561f301a..321d30f1c0d3838b9c3d210eedb03aa59e0761d8 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java @@ -437,15 +437,17 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen if (itemstack1.isEmpty()) { // Spigot start - SPIGOT-6693, InventorySubcontainer#setItem -+ ItemStack leftover = ItemStack.EMPTY; // Paper ++ ItemStack leftover = ItemStack.EMPTY; // Paper - Make hoppers respect inventory max stack size if (!stack.isEmpty() && stack.getCount() > to.getMaxStackSize()) { -+ leftover = stack; // Paper ++ leftover = stack; // Paper - Make hoppers respect inventory max stack size stack = stack.split(to.getMaxStackSize()); } // Spigot end to.setItem(slot, stack); - stack = ItemStack.EMPTY; -+ stack = leftover; // Paper ++ stack = leftover; // Paper - Make hoppers respect inventory max stack size flag = true; } else if (HopperBlockEntity.canMergeItems(itemstack1, stack)) { - int j = stack.getMaxStackSize() - itemstack1.getCount(); -+ int j = Math.min(stack.getMaxStackSize(), to.getMaxStackSize()) - itemstack1.getCount(); // Paper ++ int j = Math.min(stack.getMaxStackSize(), to.getMaxStackSize()) - itemstack1.getCount(); // Paper - Make hoppers respect inventory max stack size int k = Math.min(stack.getCount(), j); stack.shrink(k); diff --git a/patches/server/0633-Config-option-for-Piglins-guarding-chests.patch b/patches/server/0633-Config-option-for-Piglins-guarding-chests.patch index 63865bec49..d32081e6b2 100644 --- a/patches/server/0633-Config-option-for-Piglins-guarding-chests.patch +++ b/patches/server/0633-Config-option-for-Piglins-guarding-chests.patch @@ -5,14 +5,14 @@ Subject: [PATCH] Config option for Piglins guarding chests diff --git a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinAi.java b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinAi.java -index 86bb0ac321da9a93065dfe40f33dc8417f092269..b98179602f5b26ecd4df46837b15ca186f65cb38 100644 +index e00a1e6031b6de0f6900e004c9e9c97b0d84f8d3..9c979aee4d1e6e72f599d3c5751267e17aa3d32a 100644 --- a/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinAi.java +++ b/src/main/java/net/minecraft/world/entity/monster/piglin/PiglinAi.java @@ -477,6 +477,7 @@ public class PiglinAi { } public static void angerNearbyPiglins(Player player, boolean blockOpen) { -+ if (!player.level().paperConfig().entities.behavior.piglinsGuardChests) return; // Paper ++ if (!player.level().paperConfig().entities.behavior.piglinsGuardChests) return; // Paper - Config option for Piglins guarding chests List list = player.level().getEntitiesOfClass(Piglin.class, player.getBoundingBox().inflate(16.0D)); list.stream().filter(PiglinAi::isIdle).filter((entitypiglin) -> { diff --git a/patches/server/0634-Added-EntityDamageItemEvent.patch b/patches/server/0634-Add-EntityDamageItemEvent.patch similarity index 84% rename from patches/server/0634-Added-EntityDamageItemEvent.patch rename to patches/server/0634-Add-EntityDamageItemEvent.patch index c4a3268367..b98f07d51d 100644 --- a/patches/server/0634-Added-EntityDamageItemEvent.patch +++ b/patches/server/0634-Add-EntityDamageItemEvent.patch @@ -1,11 +1,11 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Jake Potrebic Date: Tue, 22 Dec 2020 13:52:48 -0800 -Subject: [PATCH] Added EntityDamageItemEvent +Subject: [PATCH] Add EntityDamageItemEvent diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 761a46c21aaddcd43b4c33f477658605648127e9..fdcec8496abda362e611b42ef054ea730f47f408 100644 +index 761a46c21aaddcd43b4c33f477658605648127e9..f23c1695840553ae14e49310b3708a801b5a0f8d 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -622,7 +622,7 @@ public final class ItemStack { @@ -13,7 +13,7 @@ index 761a46c21aaddcd43b4c33f477658605648127e9..fdcec8496abda362e611b42ef054ea73 } - public boolean hurt(int amount, RandomSource random, @Nullable ServerPlayer player) { -+ public boolean hurt(int amount, RandomSource random, @Nullable LivingEntity player) { // Paper - allow any living entity instead of only ServerPlayers ++ public boolean hurt(int amount, RandomSource random, @Nullable LivingEntity player) { // Paper - Add EntityDamageItemEvent if (!this.isDamageableItem()) { return false; } else { @@ -23,8 +23,8 @@ index 761a46c21aaddcd43b4c33f477658605648127e9..fdcec8496abda362e611b42ef054ea73 // CraftBukkit start - if (player != null) { - PlayerItemDamageEvent event = new PlayerItemDamageEvent(player.getBukkitEntity(), CraftItemStack.asCraftMirror(this), amount); -+ if (player instanceof ServerPlayer serverPlayer) { // Paper -+ PlayerItemDamageEvent event = new PlayerItemDamageEvent(serverPlayer.getBukkitEntity(), CraftItemStack.asCraftMirror(this), amount); // Paper ++ if (player instanceof ServerPlayer serverPlayer) { // Paper - Add EntityDamageItemEvent ++ PlayerItemDamageEvent event = new PlayerItemDamageEvent(serverPlayer.getBukkitEntity(), CraftItemStack.asCraftMirror(this), amount); // Paper - Add EntityDamageItemEvent event.getPlayer().getServer().getPluginManager().callEvent(event); if (amount != event.getDamage() || event.isCancelled()) { @@ -32,14 +32,14 @@ index 761a46c21aaddcd43b4c33f477658605648127e9..fdcec8496abda362e611b42ef054ea73 } amount = event.getDamage(); -+ // Paper start - EntityDamageItemEvent ++ // Paper start - Add EntityDamageItemEvent + } else if (player != null) { + io.papermc.paper.event.entity.EntityDamageItemEvent event = new io.papermc.paper.event.entity.EntityDamageItemEvent(player.getBukkitLivingEntity(), CraftItemStack.asCraftMirror(this), amount); + if (!event.callEvent()) { + return false; + } + amount = event.getDamage(); -+ // Paper end ++ // Paper end - Add EntityDamageItemEvent } // CraftBukkit end if (amount <= 0) { @@ -49,8 +49,8 @@ index 761a46c21aaddcd43b4c33f477658605648127e9..fdcec8496abda362e611b42ef054ea73 - if (player != null && amount != 0) { - CriteriaTriggers.ITEM_DURABILITY_CHANGED.trigger(player, this, this.getDamageValue() + amount); -+ if (player instanceof ServerPlayer serverPlayer && amount != 0) { // Paper -+ CriteriaTriggers.ITEM_DURABILITY_CHANGED.trigger(serverPlayer, this, this.getDamageValue() + amount); // Paper ++ if (player instanceof ServerPlayer serverPlayer && amount != 0) { // Paper - Add EntityDamageItemEvent ++ CriteriaTriggers.ITEM_DURABILITY_CHANGED.trigger(serverPlayer, this, this.getDamageValue() + amount); // Paper - Add EntityDamageItemEvent } j = this.getDamageValue() + amount; @@ -59,7 +59,7 @@ index 761a46c21aaddcd43b4c33f477658605648127e9..fdcec8496abda362e611b42ef054ea73 if (!entity.level().isClientSide && (!(entity instanceof net.minecraft.world.entity.player.Player) || !((net.minecraft.world.entity.player.Player) entity).getAbilities().instabuild)) { if (this.isDamageableItem()) { - if (this.hurt(amount, entity.getRandom(), entity instanceof ServerPlayer ? (ServerPlayer) entity : null)) { -+ if (this.hurt(amount, entity.getRandom(), entity /*instanceof ServerPlayer ? (ServerPlayer) entity : null*/)) { // Paper - pass LivingEntity for EntityItemDamageEvent ++ if (this.hurt(amount, entity.getRandom(), entity /*instanceof ServerPlayer ? (ServerPlayer) entity : null*/)) { // Paper - Add EntityDamageItemEvent breakCallback.accept(entity); Item item = this.getItem(); // CraftBukkit start - Check for item breaking diff --git a/patches/server/0635-Optimize-indirect-passenger-iteration.patch b/patches/server/0635-Optimize-indirect-passenger-iteration.patch index 302d90eab0..f0102e4992 100644 --- a/patches/server/0635-Optimize-indirect-passenger-iteration.patch +++ b/patches/server/0635-Optimize-indirect-passenger-iteration.patch @@ -5,31 +5,31 @@ Subject: [PATCH] Optimize indirect passenger iteration diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 486a4d9e5cd421e2444327e2c28e4f674c98894a..c598247bd8cf65f33845502107277518f7260d4d 100644 +index 72f50fe74695e32167d414c1c9ee38deb95afb79..8b84de55028a9c4d65fe5ae99b808f0d84ce6799 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3926,20 +3926,34 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } private Stream getIndirectPassengersStream() { -+ if (this.passengers.isEmpty()) { return Stream.of(); } // Paper ++ if (this.passengers.isEmpty()) { return Stream.of(); } // Paper - Optimize indirect passenger iteration return this.passengers.stream().flatMap(Entity::getSelfAndPassengers); } @Override public Stream getSelfAndPassengers() { -+ if (this.passengers.isEmpty()) { return Stream.of(this); } // Paper ++ if (this.passengers.isEmpty()) { return Stream.of(this); } // Paper - Optimize indirect passenger iteration return Stream.concat(Stream.of(this), this.getIndirectPassengersStream()); } @Override public Stream getPassengersAndSelf() { -+ if (this.passengers.isEmpty()) { return Stream.of(this); } // Paper ++ if (this.passengers.isEmpty()) { return Stream.of(this); } // Paper - Optimize indirect passenger iteration return Stream.concat(this.passengers.stream().flatMap(Entity::getPassengersAndSelf), Stream.of(this)); } public Iterable getIndirectPassengers() { -+ // Paper start - rewrite this method ++ // Paper start - Optimize indirect passenger iteration + if (this.passengers.isEmpty()) { return ImmutableList.of(); } + ImmutableList.Builder indirectPassengers = ImmutableList.builder(); + for (Entity passenger : this.passengers) { @@ -39,7 +39,7 @@ index 486a4d9e5cd421e2444327e2c28e4f674c98894a..c598247bd8cf65f33845502107277518 + return indirectPassengers.build(); + } + private Iterable getIndirectPassengers_old() { -+ // Paper end ++ // Paper end - Optimize indirect passenger iteration return () -> { return this.getIndirectPassengersStream().iterator(); }; @@ -47,7 +47,7 @@ index 486a4d9e5cd421e2444327e2c28e4f674c98894a..c598247bd8cf65f33845502107277518 // Paper end - rewrite chunk system public boolean hasExactlyOnePlayerPassenger() { -+ if (this.passengers.isEmpty()) { return false; } // Paper ++ if (this.passengers.isEmpty()) { return false; } // Paper - Optimize indirect passenger iteration return this.countPlayerPassengers() == 1; } diff --git a/patches/server/0638-Clear-bucket-NBT-after-dispense.patch b/patches/server/0637-Clear-bucket-NBT-after-dispense.patch similarity index 89% rename from patches/server/0638-Clear-bucket-NBT-after-dispense.patch rename to patches/server/0637-Clear-bucket-NBT-after-dispense.patch index e0ba56c333..a427f6d5e2 100644 --- a/patches/server/0638-Clear-bucket-NBT-after-dispense.patch +++ b/patches/server/0637-Clear-bucket-NBT-after-dispense.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Clear bucket NBT after dispense diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index 8c8d2e81f0866dc1441e181f2580852d87263bcc..9f220c99d7374ab3d9db222346694342d3e926c1 100644 +index 8c8d2e81f0866dc1441e181f2580852d87263bcc..d41e3e5382b17d3de41054b496c1707a926a897a 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -650,8 +650,7 @@ public interface DispenseItemBehavior { @@ -14,7 +14,7 @@ index 8c8d2e81f0866dc1441e181f2580852d87263bcc..9f220c99d7374ab3d9db222346694342 if (stack.isEmpty()) { - stack.setItem(Items.BUCKET); - stack.setCount(1); -+ stack = new ItemStack(item); // Paper - clear tag ++ stack = new ItemStack(item); // Paper - Clear bucket NBT after dispense } else if (pointer.blockEntity().addItem(new ItemStack(item)) < 0) { this.defaultDispenseItemBehavior.dispense(pointer, new ItemStack(item)); } diff --git a/patches/server/0637-Make-EntityUnleashEvent-cancellable.patch b/patches/server/0637-Make-EntityUnleashEvent-cancellable.patch deleted file mode 100644 index 027330d9f9..0000000000 --- a/patches/server/0637-Make-EntityUnleashEvent-cancellable.patch +++ /dev/null @@ -1,41 +0,0 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 -From: Jake Potrebic -Date: Sun, 3 Jan 2021 21:25:31 -0800 -Subject: [PATCH] Make EntityUnleashEvent cancellable - - -diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 764a5dd85e3fb581b1e713ce9b148be1874d55be..16d84042e2575418880897c728a99d1b8bbcdd15 100644 ---- a/src/main/java/net/minecraft/world/entity/Mob.java -+++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1550,7 +1550,7 @@ public abstract class Mob extends LivingEntity implements Targeting { - if (flag1 && this.isLeashed()) { - // Paper start - drop leash variable - EntityUnleashEvent event = new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.UNKNOWN, true); -- this.level().getCraftServer().getPluginManager().callEvent(event); // CraftBukkit -+ if (!event.callEvent()) { return flag1; } - this.dropLeash(true, event.isDropLeash()); - // Paper end - } -diff --git a/src/main/java/net/minecraft/world/entity/PathfinderMob.java b/src/main/java/net/minecraft/world/entity/PathfinderMob.java -index 8e362ad31208d87f4a69a1747485610e0588be51..463b72cab6a62e9738b33007728b2b00ae12e1bc 100644 ---- a/src/main/java/net/minecraft/world/entity/PathfinderMob.java -+++ b/src/main/java/net/minecraft/world/entity/PathfinderMob.java -@@ -59,7 +59,7 @@ public abstract class PathfinderMob extends Mob { - if (f > entity.level().paperConfig().misc.maxLeashDistance) { // Paper - // Paper start - drop leash variable - EntityUnleashEvent event = new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE, true); -- this.level().getCraftServer().getPluginManager().callEvent(event); // CraftBukkit -+ if (!event.callEvent()) { return; } - this.dropLeash(true, event.isDropLeash()); - // Paper end - } -@@ -71,7 +71,7 @@ public abstract class PathfinderMob extends Mob { - if (f > entity.level().paperConfig().misc.maxLeashDistance) { // Paper - // Paper start - drop leash variable - EntityUnleashEvent event = new EntityUnleashEvent(this.getBukkitEntity(), EntityUnleashEvent.UnleashReason.DISTANCE, true); -- this.level().getCraftServer().getPluginManager().callEvent(event); // CraftBukkit -+ if (!event.callEvent()) { return; } - this.dropLeash(true, event.isDropLeash()); - // Paper end - this.goalSelector.disableControlFlag(Goal.Flag.MOVE); diff --git a/patches/server/0639-Change-EnderEye-target-without-changing-other-things.patch b/patches/server/0638-Change-EnderEye-target-without-changing-other-things.patch similarity index 72% rename from patches/server/0639-Change-EnderEye-target-without-changing-other-things.patch rename to patches/server/0638-Change-EnderEye-target-without-changing-other-things.patch index 48c5524ab8..4974686f9c 100644 --- a/patches/server/0639-Change-EnderEye-target-without-changing-other-things.patch +++ b/patches/server/0638-Change-EnderEye-target-without-changing-other-things.patch @@ -5,18 +5,18 @@ Subject: [PATCH] Change EnderEye target without changing other things diff --git a/src/main/java/net/minecraft/world/entity/projectile/EyeOfEnder.java b/src/main/java/net/minecraft/world/entity/projectile/EyeOfEnder.java -index ee6bbe96503e9205349e9a5c411dc60dd952ec9e..e48706e2fefc39fcce3c65f629153fdcd677044c 100644 +index ee6bbe96503e9205349e9a5c411dc60dd952ec9e..eb7c16b0291357445d408c0748a03f1a9b562a90 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/EyeOfEnder.java +++ b/src/main/java/net/minecraft/world/entity/projectile/EyeOfEnder.java @@ -70,6 +70,11 @@ public class EyeOfEnder extends Entity implements ItemSupplier { } public void signalTo(BlockPos pos) { -+ // Paper start ++ // Paper start - Change EnderEye target without changing other things + this.signalTo(pos, true); + } + public void signalTo(BlockPos pos, boolean update) { -+ // Paper end ++ // Paper end - Change EnderEye target without changing other things double d0 = (double) pos.getX(); int i = pos.getY(); double d1 = (double) pos.getZ(); @@ -24,31 +24,31 @@ index ee6bbe96503e9205349e9a5c411dc60dd952ec9e..e48706e2fefc39fcce3c65f629153fdc this.tz = d1; } -+ if (update) { // Paper ++ if (update) { // Paper - Change EnderEye target without changing other things this.life = 0; this.surviveAfterDeath = this.random.nextInt(5) > 0; -+ } // Paper ++ } // Paper - Change EnderEye target without changing other things } @Override diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java -index d4dfc7a0266086b9bf2c3966c6e149453d0583ba..1fb5760681bf0c745f9f3517489a83666a6d6805 100644 +index d4dfc7a0266086b9bf2c3966c6e149453d0583ba..27f56fa4b7ef92a9a4dfa6b782350424b88210f2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEnderSignal.java @@ -32,8 +32,15 @@ public class CraftEnderSignal extends CraftEntity implements EnderSignal { @Override public void setTargetLocation(Location location) { -+ // Paper start ++ // Paper start - Change EnderEye target without changing other things + this.setTargetLocation(location, true); + } + + @Override + public void setTargetLocation(Location location, boolean update) { -+ // Paper end ++ // Paper end - Change EnderEye target without changing other things Preconditions.checkArgument(this.getWorld().equals(location.getWorld()), "Cannot target EnderSignal across worlds"); - this.getHandle().signalTo(CraftLocation.toBlockPosition(location)); -+ this.getHandle().signalTo(CraftLocation.toBlockPosition(location), update); // Paper ++ this.getHandle().signalTo(CraftLocation.toBlockPosition(location), update); // Paper - Change EnderEye target without changing other things } @Override diff --git a/patches/server/0640-Add-BlockBreakBlockEvent.patch b/patches/server/0639-Add-BlockBreakBlockEvent.patch similarity index 86% rename from patches/server/0640-Add-BlockBreakBlockEvent.patch rename to patches/server/0639-Add-BlockBreakBlockEvent.patch index 79b68d6784..cfa7680e16 100644 --- a/patches/server/0640-Add-BlockBreakBlockEvent.patch +++ b/patches/server/0639-Add-BlockBreakBlockEvent.patch @@ -5,14 +5,14 @@ Subject: [PATCH] Add BlockBreakBlockEvent diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index 5e5199b50847958f7abc6d8e42cfb6806df8421f..142f9438f75cb7e2d97011fdeb3f9e367ff81599 100644 +index 5e5199b50847958f7abc6d8e42cfb6806df8421f..af62781cc96354c87aa63d4f03f9e25b81959081 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -326,6 +326,23 @@ public class Block extends BlockBehaviour implements ItemLike { } } -+ // Paper start ++ // Paper start - Add BlockBreakBlockEvent + public static boolean dropResources(BlockState state, LevelAccessor world, BlockPos pos, @Nullable BlockEntity blockEntity, BlockPos source) { + if (world instanceof ServerLevel) { + List items = com.google.common.collect.Lists.newArrayList(); @@ -28,12 +28,12 @@ index 5e5199b50847958f7abc6d8e42cfb6806df8421f..142f9438f75cb7e2d97011fdeb3f9e36 + } + return true; + } -+ // Paper end ++ // Paper end - Add BlockBreakBlockEvent public static void dropResources(BlockState state, Level world, BlockPos pos, @Nullable BlockEntity blockEntity, @Nullable Entity entity, ItemStack tool) { if (world instanceof ServerLevel) { 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 565da027ca7c395f9b965505cbe9e85e62367834..cda90023ad662e8875365eac98ec69f476dcb42d 100644 +index 565da027ca7c395f9b965505cbe9e85e62367834..de9102f943fe90122b2fe7f94228b4248244374a 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 @@ -415,7 +415,7 @@ public class PistonBaseBlock extends DirectionalBlock { @@ -41,12 +41,12 @@ index 565da027ca7c395f9b965505cbe9e85e62367834..cda90023ad662e8875365eac98ec69f4 BlockEntity tileentity = iblockdata1.hasBlockEntity() ? world.getBlockEntity(blockposition3) : null; - dropResources(iblockdata1, world, blockposition3, tileentity); -+ dropResources(iblockdata1, world, blockposition3, tileentity, pos); // Paper ++ dropResources(iblockdata1, world, blockposition3, tileentity, pos); // Paper - Add BlockBreakBlockEvent world.setBlock(blockposition3, Blocks.AIR.defaultBlockState(), 18); world.gameEvent(GameEvent.BLOCK_DESTROY, blockposition3, GameEvent.Context.of(iblockdata1)); if (!iblockdata1.is(BlockTags.FIRE)) { diff --git a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java -index f7527ed1d47901e52df4e3fffbdcd838782c90db..55208b4889f4af60f2b2b66ed6b102b2cd0bb26b 100644 +index f7527ed1d47901e52df4e3fffbdcd838782c90db..482616c7cbe12f7a23ec99378e24a87dedc2a8ae 100644 --- a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java +++ b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java @@ -296,7 +296,7 @@ public abstract class FlowingFluid extends Fluid { @@ -54,7 +54,7 @@ index f7527ed1d47901e52df4e3fffbdcd838782c90db..55208b4889f4af60f2b2b66ed6b102b2 } else { if (!state.isAir()) { - this.beforeDestroyingBlock(world, pos, state); -+ this.beforeDestroyingBlock(world, pos, state, pos.relative(direction.getOpposite())); // Paper ++ this.beforeDestroyingBlock(world, pos, state, pos.relative(direction.getOpposite())); // Paper - Add BlockBreakBlockEvent } world.setBlock(pos, fluidState.createLegacyBlock(), 3); @@ -62,25 +62,25 @@ index f7527ed1d47901e52df4e3fffbdcd838782c90db..55208b4889f4af60f2b2b66ed6b102b2 } -+ protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) { beforeDestroyingBlock(world, pos, state); } // Paper - add source parameter ++ protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) { beforeDestroyingBlock(world, pos, state); } // Paper - Add BlockBreakBlockEvent protected abstract void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state); private static short getCacheKey(BlockPos from, BlockPos to) { diff --git a/src/main/java/net/minecraft/world/level/material/WaterFluid.java b/src/main/java/net/minecraft/world/level/material/WaterFluid.java -index 1897c0012800d5ba9d2fc386f3e2bf57c9d878bb..82e85fbbd45244d02df90fa00c9046e7f51275a2 100644 +index 1897c0012800d5ba9d2fc386f3e2bf57c9d878bb..c5f9eda32f2cd172569c7b7d72f5dd3e41a34a70 100644 --- a/src/main/java/net/minecraft/world/level/material/WaterFluid.java +++ b/src/main/java/net/minecraft/world/level/material/WaterFluid.java @@ -64,6 +64,13 @@ public abstract class WaterFluid extends FlowingFluid { return world.getGameRules().getBoolean(GameRules.RULE_WATER_SOURCE_CONVERSION); } -+ // Paper start ++ // Paper start - Add BlockBreakBlockEvent + @Override + protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state, BlockPos source) { + BlockEntity tileentity = state.hasBlockEntity() ? world.getBlockEntity(pos) : null; + Block.dropResources(state, world, pos, tileentity, source); + } -+ // Paper end ++ // Paper end - Add BlockBreakBlockEvent @Override protected void beforeDestroyingBlock(LevelAccessor world, BlockPos pos, BlockState state) { BlockEntity blockEntity = state.hasBlockEntity() ? world.getBlockEntity(pos) : null; diff --git a/patches/server/0641-Option-to-prevent-NBT-copy-in-smithing-recipes.patch b/patches/server/0640-Option-to-prevent-NBT-copy-in-smithing-recipes.patch similarity index 85% rename from patches/server/0641-Option-to-prevent-NBT-copy-in-smithing-recipes.patch rename to patches/server/0640-Option-to-prevent-NBT-copy-in-smithing-recipes.patch index bd57709b19..c718e90b28 100644 --- a/patches/server/0641-Option-to-prevent-NBT-copy-in-smithing-recipes.patch +++ b/patches/server/0640-Option-to-prevent-NBT-copy-in-smithing-recipes.patch @@ -5,22 +5,22 @@ Subject: [PATCH] Option to prevent NBT copy in smithing recipes diff --git a/src/main/java/net/minecraft/world/item/crafting/SmithingTransformRecipe.java b/src/main/java/net/minecraft/world/item/crafting/SmithingTransformRecipe.java -index 566b588006da2b46ec1727be85560ccd59c42c6f..8f71a60c1d83dfad67ac77ec4464a55c7439d4b3 100644 +index 566b588006da2b46ec1727be85560ccd59c42c6f..67f7eb89570934b73ff5b894ae3e89fdb874b923 100644 --- a/src/main/java/net/minecraft/world/item/crafting/SmithingTransformRecipe.java +++ b/src/main/java/net/minecraft/world/item/crafting/SmithingTransformRecipe.java @@ -23,8 +23,15 @@ public class SmithingTransformRecipe implements SmithingRecipe { final Ingredient base; final Ingredient addition; final ItemStack result; -+ final boolean copyNBT; // Paper ++ final boolean copyNBT; // Paper - Option to prevent NBT copy public SmithingTransformRecipe(Ingredient template, Ingredient base, Ingredient addition, ItemStack result) { -+ // Paper start ++ // Paper start - Option to prevent NBT copy + this(template, base, addition, result, true); + } + public SmithingTransformRecipe(Ingredient template, Ingredient base, Ingredient addition, ItemStack result, boolean copyNBT) { + this.copyNBT = copyNBT; -+ // Paper end ++ // Paper end - Option to prevent NBT copy this.template = template; this.base = base; this.addition = addition; @@ -28,13 +28,13 @@ index 566b588006da2b46ec1727be85560ccd59c42c6f..8f71a60c1d83dfad67ac77ec4464a55c @Override public ItemStack assemble(Container inventory, RegistryAccess registryManager) { ItemStack itemstack = this.result.copy(); -+ if (this.copyNBT) { // Paper - copy nbt conditionally ++ if (this.copyNBT) { // Paper - Option to prevent NBT copy CompoundTag nbttagcompound = inventory.getItem(1).getTag(); if (nbttagcompound != null) { itemstack.setTag(nbttagcompound.copy()); } -+ } // Paper ++ } // Paper - Option to prevent NBT copy return itemstack; } @@ -43,27 +43,27 @@ index 566b588006da2b46ec1727be85560ccd59c42c6f..8f71a60c1d83dfad67ac77ec4464a55c CraftItemStack result = CraftItemStack.asCraftMirror(this.result); - CraftSmithingTransformRecipe recipe = new CraftSmithingTransformRecipe(id, result, CraftRecipe.toBukkit(this.template), CraftRecipe.toBukkit(this.base), CraftRecipe.toBukkit(this.addition)); -+ CraftSmithingTransformRecipe recipe = new CraftSmithingTransformRecipe(id, result, CraftRecipe.toBukkit(this.template), CraftRecipe.toBukkit(this.base), CraftRecipe.toBukkit(this.addition), this.copyNBT); // Paper ++ CraftSmithingTransformRecipe recipe = new CraftSmithingTransformRecipe(id, result, CraftRecipe.toBukkit(this.template), CraftRecipe.toBukkit(this.base), CraftRecipe.toBukkit(this.addition), this.copyNBT); // Paper - Option to prevent NBT copy return recipe; } diff --git a/src/main/java/net/minecraft/world/item/crafting/SmithingTrimRecipe.java b/src/main/java/net/minecraft/world/item/crafting/SmithingTrimRecipe.java -index e0b24c140e04a159a7b8aaef64ab94e19fc03dfd..2f26ef211322398e795cbdc75b565fc7922cf4ff 100644 +index e0b24c140e04a159a7b8aaef64ab94e19fc03dfd..a3686cede266c0205247abcec3ce082ae4a048a0 100644 --- a/src/main/java/net/minecraft/world/item/crafting/SmithingTrimRecipe.java +++ b/src/main/java/net/minecraft/world/item/crafting/SmithingTrimRecipe.java @@ -29,8 +29,15 @@ public class SmithingTrimRecipe implements SmithingRecipe { final Ingredient template; final Ingredient base; final Ingredient addition; -+ final boolean copyNbt; // Paper ++ final boolean copyNbt; // Paper - Option to prevent NBT copy public SmithingTrimRecipe(Ingredient template, Ingredient base, Ingredient addition) { -+ // Paper start ++ // Paper start - Option to prevent NBT copy + this(template, base, addition, true); + } + public SmithingTrimRecipe(Ingredient template, Ingredient base, Ingredient addition, boolean copyNbt) { + this.copyNbt = copyNbt; -+ // Paper end ++ // Paper end - Option to prevent NBT copy this.template = template; this.base = base; this.addition = addition; @@ -72,7 +72,7 @@ index e0b24c140e04a159a7b8aaef64ab94e19fc03dfd..2f26ef211322398e795cbdc75b565fc7 } - ItemStack itemstack1 = itemstack.copy(); -+ ItemStack itemstack1 = this.copyNbt ? itemstack.copy() : new ItemStack(itemstack.getItem(), itemstack.getCount()); // Paper ++ ItemStack itemstack1 = this.copyNbt ? itemstack.copy() : new ItemStack(itemstack.getItem(), itemstack.getCount()); // Paper - Option to prevent NBT copy itemstack1.setCount(1); ArmorTrim armortrim = new ArmorTrim((Holder) optional.get(), (Holder) optional1.get()); @@ -81,30 +81,30 @@ index e0b24c140e04a159a7b8aaef64ab94e19fc03dfd..2f26ef211322398e795cbdc75b565fc7 @Override public Recipe toBukkitRecipe(NamespacedKey id) { - return new CraftSmithingTrimRecipe(id, CraftRecipe.toBukkit(this.template), CraftRecipe.toBukkit(this.base), CraftRecipe.toBukkit(this.addition)); -+ return new CraftSmithingTrimRecipe(id, CraftRecipe.toBukkit(this.template), CraftRecipe.toBukkit(this.base), CraftRecipe.toBukkit(this.addition), this.copyNbt); // Paper ++ return new CraftSmithingTrimRecipe(id, CraftRecipe.toBukkit(this.template), CraftRecipe.toBukkit(this.base), CraftRecipe.toBukkit(this.addition), this.copyNbt); // Paper - Option to prevent NBT copy } // CraftBukkit end diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftSmithingTransformRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSmithingTransformRecipe.java -index 8c381e2745e7d5b63e72a60c5541b549f0d1b9bf..8b0e3a92e9893af954bc85adb2566502b65a0fa4 100644 +index 8c381e2745e7d5b63e72a60c5541b549f0d1b9bf..ced6dc7db823ecabe91d438dbcbd78f5a4bbdcae 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftSmithingTransformRecipe.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSmithingTransformRecipe.java @@ -12,12 +12,17 @@ public class CraftSmithingTransformRecipe extends SmithingTransformRecipe implem public CraftSmithingTransformRecipe(NamespacedKey key, ItemStack result, RecipeChoice template, RecipeChoice base, RecipeChoice addition) { super(key, result, template, base, addition); } -+ // Paper start ++ // Paper start - Option to prevent NBT copy + public CraftSmithingTransformRecipe(NamespacedKey key, ItemStack result, RecipeChoice template, RecipeChoice base, RecipeChoice addition, boolean copyNbt) { + super(key, result, template, base, addition, copyNbt); + } -+ // Paper end ++ // Paper endv public static CraftSmithingTransformRecipe fromBukkitRecipe(SmithingTransformRecipe recipe) { if (recipe instanceof CraftSmithingTransformRecipe) { return (CraftSmithingTransformRecipe) recipe; } - CraftSmithingTransformRecipe ret = new CraftSmithingTransformRecipe(recipe.getKey(), recipe.getResult(), recipe.getTemplate(), recipe.getBase(), recipe.getAddition()); -+ CraftSmithingTransformRecipe ret = new CraftSmithingTransformRecipe(recipe.getKey(), recipe.getResult(), recipe.getTemplate(), recipe.getBase(), recipe.getAddition(), recipe.willCopyNbt()); // Paper ++ CraftSmithingTransformRecipe ret = new CraftSmithingTransformRecipe(recipe.getKey(), recipe.getResult(), recipe.getTemplate(), recipe.getBase(), recipe.getAddition(), recipe.willCopyNbt()); // Paper - Option to prevent NBT copy return ret; } @@ -113,35 +113,35 @@ index 8c381e2745e7d5b63e72a60c5541b549f0d1b9bf..8b0e3a92e9893af954bc85adb2566502 ItemStack result = this.getResult(); - MinecraftServer.getServer().getRecipeManager().addRecipe(new RecipeHolder<>(CraftNamespacedKey.toMinecraft(this.getKey()), new net.minecraft.world.item.crafting.SmithingTransformRecipe(this.toNMS(this.getTemplate(), true), this.toNMS(this.getBase(), true), this.toNMS(this.getAddition(), true), CraftItemStack.asNMSCopy(result)))); -+ MinecraftServer.getServer().getRecipeManager().addRecipe(new RecipeHolder<>(CraftNamespacedKey.toMinecraft(this.getKey()), new net.minecraft.world.item.crafting.SmithingTransformRecipe(this.toNMS(this.getTemplate(), true), this.toNMS(this.getBase(), true), this.toNMS(this.getAddition(), true), CraftItemStack.asNMSCopy(result), this.willCopyNbt()))); // Paper ++ MinecraftServer.getServer().getRecipeManager().addRecipe(new RecipeHolder<>(CraftNamespacedKey.toMinecraft(this.getKey()), new net.minecraft.world.item.crafting.SmithingTransformRecipe(this.toNMS(this.getTemplate(), true), this.toNMS(this.getBase(), true), this.toNMS(this.getAddition(), true), CraftItemStack.asNMSCopy(result), this.willCopyNbt()))); // Paper - Option to prevent NBT copy } } diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftSmithingTrimRecipe.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSmithingTrimRecipe.java -index 87f20a4811d082f217638768417c1c0feb84f741..105c72a674e1a8ca4eb6003841f5d933d3a2c275 100644 +index 87f20a4811d082f217638768417c1c0feb84f741..2217e7ed9533c52a3b7d27d4dfff23ada6f2cef1 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftSmithingTrimRecipe.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftSmithingTrimRecipe.java @@ -12,17 +12,22 @@ public class CraftSmithingTrimRecipe extends SmithingTrimRecipe implements Craft public CraftSmithingTrimRecipe(NamespacedKey key, RecipeChoice template, RecipeChoice base, RecipeChoice addition) { super(key, template, base, addition); } -+ // Paper start ++ // Paper start - Option to prevent NBT copy + public CraftSmithingTrimRecipe(NamespacedKey key, RecipeChoice template, RecipeChoice base, RecipeChoice addition, boolean copyNbt) { + super(key, template, base, addition, copyNbt); + } -+ // Paper end ++ // Paper end - Option to prevent NBT copy public static CraftSmithingTrimRecipe fromBukkitRecipe(SmithingTrimRecipe recipe) { if (recipe instanceof CraftSmithingTrimRecipe) { return (CraftSmithingTrimRecipe) recipe; } - CraftSmithingTrimRecipe ret = new CraftSmithingTrimRecipe(recipe.getKey(), recipe.getTemplate(), recipe.getBase(), recipe.getAddition()); -+ CraftSmithingTrimRecipe ret = new CraftSmithingTrimRecipe(recipe.getKey(), recipe.getTemplate(), recipe.getBase(), recipe.getAddition(), recipe.willCopyNbt()); // Paper ++ CraftSmithingTrimRecipe ret = new CraftSmithingTrimRecipe(recipe.getKey(), recipe.getTemplate(), recipe.getBase(), recipe.getAddition(), recipe.willCopyNbt()); // Paper - Option to prevent NBT copy return ret; } @Override public void addToCraftingManager() { - MinecraftServer.getServer().getRecipeManager().addRecipe(new RecipeHolder<>(CraftNamespacedKey.toMinecraft(this.getKey()), new net.minecraft.world.item.crafting.SmithingTrimRecipe(this.toNMS(this.getTemplate(), true), this.toNMS(this.getBase(), true), this.toNMS(this.getAddition(), true)))); -+ MinecraftServer.getServer().getRecipeManager().addRecipe(new RecipeHolder<>(CraftNamespacedKey.toMinecraft(this.getKey()), new net.minecraft.world.item.crafting.SmithingTrimRecipe(this.toNMS(this.getTemplate(), true), this.toNMS(this.getBase(), true), this.toNMS(this.getAddition(), true), this.willCopyNbt()))); // Paper ++ MinecraftServer.getServer().getRecipeManager().addRecipe(new RecipeHolder<>(CraftNamespacedKey.toMinecraft(this.getKey()), new net.minecraft.world.item.crafting.SmithingTrimRecipe(this.toNMS(this.getTemplate(), true), this.toNMS(this.getBase(), true), this.toNMS(this.getAddition(), true), this.willCopyNbt()))); // Paper - Option to prevent NBT copy } } diff --git a/patches/server/0642-More-CommandBlock-API.patch b/patches/server/0641-More-CommandBlock-API.patch similarity index 100% rename from patches/server/0642-More-CommandBlock-API.patch rename to patches/server/0641-More-CommandBlock-API.patch diff --git a/patches/server/0643-Add-missing-team-sidebar-display-slots.patch b/patches/server/0642-Add-missing-team-sidebar-display-slots.patch similarity index 100% rename from patches/server/0643-Add-missing-team-sidebar-display-slots.patch rename to patches/server/0642-Add-missing-team-sidebar-display-slots.patch diff --git a/patches/server/0644-Add-back-EntityPortalExitEvent.patch b/patches/server/0643-Add-back-EntityPortalExitEvent.patch similarity index 97% rename from patches/server/0644-Add-back-EntityPortalExitEvent.patch rename to patches/server/0643-Add-back-EntityPortalExitEvent.patch index b4d0987e13..0f910098c0 100644 --- a/patches/server/0644-Add-back-EntityPortalExitEvent.patch +++ b/patches/server/0643-Add-back-EntityPortalExitEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add back EntityPortalExitEvent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c598247bd8cf65f33845502107277518f7260d4d..80df6afacee92b205949322c9ccfba6f37af0279 100644 +index 8b84de55028a9c4d65fe5ae99b808f0d84ce6799..019d3494bb4d01172b33cc9022a7db9e0f603f8d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3373,6 +3373,28 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0645-Add-methods-to-find-targets-for-lightning-strikes.patch b/patches/server/0644-Add-methods-to-find-targets-for-lightning-strikes.patch similarity index 100% rename from patches/server/0645-Add-methods-to-find-targets-for-lightning-strikes.patch rename to patches/server/0644-Add-methods-to-find-targets-for-lightning-strikes.patch diff --git a/patches/server/0646-Get-entity-default-attributes.patch b/patches/server/0645-Get-entity-default-attributes.patch similarity index 100% rename from patches/server/0646-Get-entity-default-attributes.patch rename to patches/server/0645-Get-entity-default-attributes.patch diff --git a/patches/server/0647-Left-handed-API.patch b/patches/server/0646-Left-handed-API.patch similarity index 100% rename from patches/server/0647-Left-handed-API.patch rename to patches/server/0646-Left-handed-API.patch diff --git a/patches/server/0648-Add-more-advancement-API.patch b/patches/server/0647-Add-more-advancement-API.patch similarity index 100% rename from patches/server/0648-Add-more-advancement-API.patch rename to patches/server/0647-Add-more-advancement-API.patch diff --git a/patches/server/0649-Add-ItemFactory-getSpawnEgg-API.patch b/patches/server/0648-Add-ItemFactory-getSpawnEgg-API.patch similarity index 100% rename from patches/server/0649-Add-ItemFactory-getSpawnEgg-API.patch rename to patches/server/0648-Add-ItemFactory-getSpawnEgg-API.patch diff --git a/patches/server/0650-Add-critical-damage-API.patch b/patches/server/0649-Add-critical-damage-API.patch similarity index 100% rename from patches/server/0650-Add-critical-damage-API.patch rename to patches/server/0649-Add-critical-damage-API.patch diff --git a/patches/server/0651-Fix-issues-with-mob-conversion.patch b/patches/server/0650-Fix-issues-with-mob-conversion.patch similarity index 100% rename from patches/server/0651-Fix-issues-with-mob-conversion.patch rename to patches/server/0650-Fix-issues-with-mob-conversion.patch diff --git a/patches/server/0652-Add-isCollidable-methods-to-various-places.patch b/patches/server/0651-Add-isCollidable-methods-to-various-places.patch similarity index 100% rename from patches/server/0652-Add-isCollidable-methods-to-various-places.patch rename to patches/server/0651-Add-isCollidable-methods-to-various-places.patch diff --git a/patches/server/0653-Goat-ram-API.patch b/patches/server/0652-Goat-ram-API.patch similarity index 100% rename from patches/server/0653-Goat-ram-API.patch rename to patches/server/0652-Goat-ram-API.patch diff --git a/patches/server/0654-Add-API-for-resetting-a-single-score.patch b/patches/server/0653-Add-API-for-resetting-a-single-score.patch similarity index 100% rename from patches/server/0654-Add-API-for-resetting-a-single-score.patch rename to patches/server/0653-Add-API-for-resetting-a-single-score.patch diff --git a/patches/server/0655-Add-Raw-Byte-Entity-Serialization.patch b/patches/server/0654-Add-Raw-Byte-Entity-Serialization.patch similarity index 98% rename from patches/server/0655-Add-Raw-Byte-Entity-Serialization.patch rename to patches/server/0654-Add-Raw-Byte-Entity-Serialization.patch index 6e0757e264..cfff9cb4b5 100644 --- a/patches/server/0655-Add-Raw-Byte-Entity-Serialization.patch +++ b/patches/server/0654-Add-Raw-Byte-Entity-Serialization.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Add Raw Byte Entity Serialization public net.minecraft.world.entity.Entity setLevel(Lnet/minecraft/world/level/Level;)V diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 80df6afacee92b205949322c9ccfba6f37af0279..024b993b1fb709297fb495a5fd8224484c48c8b6 100644 +index 019d3494bb4d01172b33cc9022a7db9e0f603f8d..82db53692f3fc38625d63f9371f2d842159c454c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2159,6 +2159,15 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0656-Vanilla-command-permission-fixes.patch b/patches/server/0655-Vanilla-command-permission-fixes.patch similarity index 100% rename from patches/server/0656-Vanilla-command-permission-fixes.patch rename to patches/server/0655-Vanilla-command-permission-fixes.patch diff --git a/patches/server/0657-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch b/patches/server/0656-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch similarity index 100% rename from patches/server/0657-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch rename to patches/server/0656-Do-not-run-close-logic-for-inventories-on-chunk-unlo.patch diff --git a/patches/server/0658-Fix-GameProfileCache-concurrency.patch b/patches/server/0657-Fix-GameProfileCache-concurrency.patch similarity index 100% rename from patches/server/0658-Fix-GameProfileCache-concurrency.patch rename to patches/server/0657-Fix-GameProfileCache-concurrency.patch diff --git a/patches/server/0659-Improve-and-expand-AsyncCatcher.patch b/patches/server/0658-Improve-and-expand-AsyncCatcher.patch similarity index 99% rename from patches/server/0659-Improve-and-expand-AsyncCatcher.patch rename to patches/server/0658-Improve-and-expand-AsyncCatcher.patch index 810bd9cbce..37e69538d5 100644 --- a/patches/server/0659-Improve-and-expand-AsyncCatcher.patch +++ b/patches/server/0658-Improve-and-expand-AsyncCatcher.patch @@ -166,7 +166,7 @@ index bbbf6dd8e566ecdca8794e3b03765fe7e426a2bd..66ab901956ca394c251c420338643d39 PersistentEntitySectionManager.LOGGER.warn("Entity {} wasn't found in section {} (destroying due to {})", new Object[]{this.entity, SectionPos.of(this.currentSectionKey), reason}); } diff --git a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java -index 095fa9e4c4d367a3cdd343ca71bef7a6564759be..b52d3413cfe725ff5778c897a0ba06ca834e533f 100644 +index 59ca5a224561f59bf1f44e11db9bc323ac2f6d71..b882e8d1b3e45277b5e9e3a359f51d9703bdb2d0 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftWorld.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftWorld.java @@ -1803,6 +1803,7 @@ public class CraftWorld extends CraftRegionAccessor implements World { diff --git a/patches/server/0660-Add-paper-mobcaps-and-paper-playermobcaps.patch b/patches/server/0659-Add-paper-mobcaps-and-paper-playermobcaps.patch similarity index 100% rename from patches/server/0660-Add-paper-mobcaps-and-paper-playermobcaps.patch rename to patches/server/0659-Add-paper-mobcaps-and-paper-playermobcaps.patch diff --git a/patches/server/0661-Sanitize-ResourceLocation-error-logging.patch b/patches/server/0660-Sanitize-ResourceLocation-error-logging.patch similarity index 100% rename from patches/server/0661-Sanitize-ResourceLocation-error-logging.patch rename to patches/server/0660-Sanitize-ResourceLocation-error-logging.patch diff --git a/patches/server/0662-Optimise-general-POI-access.patch b/patches/server/0661-Optimise-general-POI-access.patch similarity index 100% rename from patches/server/0662-Optimise-general-POI-access.patch rename to patches/server/0661-Optimise-general-POI-access.patch diff --git a/patches/server/0663-Custom-table-implementation-for-blockstate-state-loo.patch b/patches/server/0662-Custom-table-implementation-for-blockstate-state-loo.patch similarity index 100% rename from patches/server/0663-Custom-table-implementation-for-blockstate-state-loo.patch rename to patches/server/0662-Custom-table-implementation-for-blockstate-state-loo.patch diff --git a/patches/server/0664-Manually-inline-methods-in-BlockPosition.patch b/patches/server/0663-Manually-inline-methods-in-BlockPosition.patch similarity index 100% rename from patches/server/0664-Manually-inline-methods-in-BlockPosition.patch rename to patches/server/0663-Manually-inline-methods-in-BlockPosition.patch diff --git a/patches/server/0665-Name-craft-scheduler-threads-according-to-the-plugin.patch b/patches/server/0664-Name-craft-scheduler-threads-according-to-the-plugin.patch similarity index 100% rename from patches/server/0665-Name-craft-scheduler-threads-according-to-the-plugin.patch rename to patches/server/0664-Name-craft-scheduler-threads-according-to-the-plugin.patch diff --git a/patches/server/0666-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch b/patches/server/0665-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch similarity index 100% rename from patches/server/0666-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch rename to patches/server/0665-Make-sure-inlined-getChunkAt-has-inlined-logic-for-l.patch diff --git a/patches/server/0667-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch b/patches/server/0666-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch similarity index 100% rename from patches/server/0667-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch rename to patches/server/0666-Don-t-read-neighbour-chunk-data-off-disk-when-conver.patch diff --git a/patches/server/0668-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch b/patches/server/0667-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch similarity index 100% rename from patches/server/0668-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch rename to patches/server/0667-Don-t-lookup-fluid-state-when-raytracing-skip-air-bl.patch diff --git a/patches/server/0669-Time-scoreboard-search.patch b/patches/server/0668-Time-scoreboard-search.patch similarity index 100% rename from patches/server/0669-Time-scoreboard-search.patch rename to patches/server/0668-Time-scoreboard-search.patch diff --git a/patches/server/0670-Send-full-pos-packets-for-hard-colliding-entities.patch b/patches/server/0669-Send-full-pos-packets-for-hard-colliding-entities.patch similarity index 100% rename from patches/server/0670-Send-full-pos-packets-for-hard-colliding-entities.patch rename to patches/server/0669-Send-full-pos-packets-for-hard-colliding-entities.patch diff --git a/patches/server/0671-Execute-chunk-tasks-mid-tick.patch b/patches/server/0670-Execute-chunk-tasks-mid-tick.patch similarity index 97% rename from patches/server/0671-Execute-chunk-tasks-mid-tick.patch rename to patches/server/0670-Execute-chunk-tasks-mid-tick.patch index 44b55eed83..a8921da3d4 100644 --- a/patches/server/0671-Execute-chunk-tasks-mid-tick.patch +++ b/patches/server/0670-Execute-chunk-tasks-mid-tick.patch @@ -123,7 +123,7 @@ index 63fad53a9184d7ab97f143b7d85ae9ef2ca9f8bc..1483007b79e18107e41037c279e048f0 } } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index ce74bfb123427c5459c03c3c8f85445077c329c7..6b999e05f93b0da1a3cc9a679a3a88b89df4aab5 100644 +index dfbec0bd98f58f7e01d0f45f2ab2c433f9094cc3..1be545d545dcd165fd76b5bb70ac00ddfc49b8bb 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -216,6 +216,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -151,7 +151,7 @@ index ce74bfb123427c5459c03c3c8f85445077c329c7..6b999e05f93b0da1a3cc9a679a3a88b8 } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index e297be9cf8c59b6b8d051d5db70c3bebcd235a2d..02dfea10b27c6f932bc5742f6c577e30c155b3fe 100644 +index 69730027a70e91ec32604b1fb32820363ea20a71..4691008f0f3a5802af880aa2149f5360dee76920 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -927,6 +927,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0672-Oprimise-map-impl-for-tracked-players.patch b/patches/server/0671-Oprimise-map-impl-for-tracked-players.patch similarity index 100% rename from patches/server/0672-Oprimise-map-impl-for-tracked-players.patch rename to patches/server/0671-Oprimise-map-impl-for-tracked-players.patch diff --git a/patches/server/0673-Optimise-BlockSoil-nearby-water-lookup.patch b/patches/server/0672-Optimise-BlockSoil-nearby-water-lookup.patch similarity index 100% rename from patches/server/0673-Optimise-BlockSoil-nearby-water-lookup.patch rename to patches/server/0672-Optimise-BlockSoil-nearby-water-lookup.patch diff --git a/patches/server/0674-Optimise-random-block-ticking.patch b/patches/server/0673-Optimise-random-block-ticking.patch similarity index 99% rename from patches/server/0674-Optimise-random-block-ticking.patch rename to patches/server/0673-Optimise-random-block-ticking.patch index 347a22d5c4..e9c5661ef5 100644 --- a/patches/server/0674-Optimise-random-block-ticking.patch +++ b/patches/server/0673-Optimise-random-block-ticking.patch @@ -90,7 +90,7 @@ index 0000000000000000000000000000000000000000..7d93652c1abbb6aee6eb7c26cf35d4d0 + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 6b999e05f93b0da1a3cc9a679a3a88b89df4aab5..a9f336ed75ef406c1179bdc6e63e6fd944470534 100644 +index 1be545d545dcd165fd76b5bb70ac00ddfc49b8bb..8117a0334fdf59904e31a0419f7b5bf231d198c5 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -860,6 +860,10 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -324,7 +324,7 @@ index 722e323d2ae3f4ac8aa3197fed79f7d926d5ccfa..f8c1dfc8e121a406955348a1ec00c264 public BlockPos getHomePos() { diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 02dfea10b27c6f932bc5742f6c577e30c155b3fe..94a4ceeea167164fb589518881952dd5e082f8c2 100644 +index 4691008f0f3a5802af880aa2149f5360dee76920..0d685f1f446061cc723d190b16eedcb2ddedfa46 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -1398,10 +1398,18 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0675-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch b/patches/server/0674-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch similarity index 100% rename from patches/server/0675-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch rename to patches/server/0674-Attempt-to-recalculate-regionfile-header-if-it-is-co.patch diff --git a/patches/server/0676-Use-Velocity-compression-and-cipher-natives.patch b/patches/server/0675-Use-Velocity-compression-and-cipher-natives.patch similarity index 100% rename from patches/server/0676-Use-Velocity-compression-and-cipher-natives.patch rename to patches/server/0675-Use-Velocity-compression-and-cipher-natives.patch diff --git a/patches/server/0677-Detail-more-information-in-watchdog-dumps.patch b/patches/server/0676-Detail-more-information-in-watchdog-dumps.patch similarity index 99% rename from patches/server/0677-Detail-more-information-in-watchdog-dumps.patch rename to patches/server/0676-Detail-more-information-in-watchdog-dumps.patch index 996e3727f5..248cb54950 100644 --- a/patches/server/0677-Detail-more-information-in-watchdog-dumps.patch +++ b/patches/server/0676-Detail-more-information-in-watchdog-dumps.patch @@ -122,7 +122,7 @@ index 8117a0334fdf59904e31a0419f7b5bf231d198c5..569fbb2f6c5f1ec286ecafe5c7f1b1fe private void tickPassenger(Entity vehicle, Entity passenger) { diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b78bcccfb17f24cadea8ff63b6387a6f3ee6429b..a65a0ae8f7e9c2c5fe48d141dba6d95c2e94f426 100644 +index 82db53692f3fc38625d63f9371f2d842159c454c..873ae06dc0b5de6cc69e2e8a24a882ca90ee8663 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1031,7 +1031,42 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0678-Distance-manager-tick-timings.patch b/patches/server/0677-Distance-manager-tick-timings.patch similarity index 100% rename from patches/server/0678-Distance-manager-tick-timings.patch rename to patches/server/0677-Distance-manager-tick-timings.patch diff --git a/patches/server/0679-Fix-merchant-inventory-not-closing-on-entity-removal.patch b/patches/server/0678-Fix-merchant-inventory-not-closing-on-entity-removal.patch similarity index 100% rename from patches/server/0679-Fix-merchant-inventory-not-closing-on-entity-removal.patch rename to patches/server/0678-Fix-merchant-inventory-not-closing-on-entity-removal.patch diff --git a/patches/server/0680-Check-requirement-before-suggesting-root-nodes.patch b/patches/server/0679-Check-requirement-before-suggesting-root-nodes.patch similarity index 100% rename from patches/server/0680-Check-requirement-before-suggesting-root-nodes.patch rename to patches/server/0679-Check-requirement-before-suggesting-root-nodes.patch diff --git a/patches/server/0681-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch b/patches/server/0680-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch similarity index 100% rename from patches/server/0681-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch rename to patches/server/0680-Don-t-respond-to-ServerboundCommandSuggestionPacket-.patch diff --git a/patches/server/0682-Add-packet-limiter-config.patch b/patches/server/0681-Add-packet-limiter-config.patch similarity index 100% rename from patches/server/0682-Add-packet-limiter-config.patch rename to patches/server/0681-Add-packet-limiter-config.patch diff --git a/patches/server/0683-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch b/patches/server/0682-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch similarity index 100% rename from patches/server/0683-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch rename to patches/server/0682-Fix-setPatternColor-on-tropical-fish-bucket-meta.patch diff --git a/patches/server/0684-Ensure-valid-vehicle-status.patch b/patches/server/0683-Ensure-valid-vehicle-status.patch similarity index 100% rename from patches/server/0684-Ensure-valid-vehicle-status.patch rename to patches/server/0683-Ensure-valid-vehicle-status.patch diff --git a/patches/server/0685-Prevent-softlocked-end-exit-portal-generation.patch b/patches/server/0684-Prevent-softlocked-end-exit-portal-generation.patch similarity index 100% rename from patches/server/0685-Prevent-softlocked-end-exit-portal-generation.patch rename to patches/server/0684-Prevent-softlocked-end-exit-portal-generation.patch diff --git a/patches/server/0686-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch b/patches/server/0685-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch similarity index 100% rename from patches/server/0686-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch rename to patches/server/0685-Fix-CocaoDecorator-causing-a-crash-when-trying-to-ge.patch diff --git a/patches/server/0687-Don-t-log-debug-logging-being-disabled.patch b/patches/server/0686-Don-t-log-debug-logging-being-disabled.patch similarity index 100% rename from patches/server/0687-Don-t-log-debug-logging-being-disabled.patch rename to patches/server/0686-Don-t-log-debug-logging-being-disabled.patch diff --git a/patches/server/0688-fix-various-menus-with-empty-level-accesses.patch b/patches/server/0687-fix-various-menus-with-empty-level-accesses.patch similarity index 100% rename from patches/server/0688-fix-various-menus-with-empty-level-accesses.patch rename to patches/server/0687-fix-various-menus-with-empty-level-accesses.patch diff --git a/patches/server/0689-Preserve-overstacked-loot.patch b/patches/server/0688-Preserve-overstacked-loot.patch similarity index 100% rename from patches/server/0689-Preserve-overstacked-loot.patch rename to patches/server/0688-Preserve-overstacked-loot.patch diff --git a/patches/server/0690-Update-head-rotation-in-missing-places.patch b/patches/server/0689-Update-head-rotation-in-missing-places.patch similarity index 93% rename from patches/server/0690-Update-head-rotation-in-missing-places.patch rename to patches/server/0689-Update-head-rotation-in-missing-places.patch index 67fac67f77..9478062a82 100644 --- a/patches/server/0690-Update-head-rotation-in-missing-places.patch +++ b/patches/server/0689-Update-head-rotation-in-missing-places.patch @@ -8,7 +8,7 @@ This is because bukkit uses a separate head rotation field for yaw. This issue only applies to players. diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index a65a0ae8f7e9c2c5fe48d141dba6d95c2e94f426..0591b20138bf8b36aa7d78fc0c672ab55abf4f24 100644 +index 873ae06dc0b5de6cc69e2e8a24a882ca90ee8663..cee005823020adaef519267630030e8d31b5b994 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1918,6 +1918,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0691-prevent-unintended-light-block-manipulation.patch b/patches/server/0690-prevent-unintended-light-block-manipulation.patch similarity index 100% rename from patches/server/0691-prevent-unintended-light-block-manipulation.patch rename to patches/server/0690-prevent-unintended-light-block-manipulation.patch diff --git a/patches/server/0692-Fix-CraftCriteria-defaults-map.patch b/patches/server/0691-Fix-CraftCriteria-defaults-map.patch similarity index 100% rename from patches/server/0692-Fix-CraftCriteria-defaults-map.patch rename to patches/server/0691-Fix-CraftCriteria-defaults-map.patch diff --git a/patches/server/0693-Fix-upstreams-block-state-factories.patch b/patches/server/0692-Fix-upstreams-block-state-factories.patch similarity index 100% rename from patches/server/0693-Fix-upstreams-block-state-factories.patch rename to patches/server/0692-Fix-upstreams-block-state-factories.patch diff --git a/patches/server/0694-Configurable-feature-seeds.patch b/patches/server/0693-Configurable-feature-seeds.patch similarity index 100% rename from patches/server/0694-Configurable-feature-seeds.patch rename to patches/server/0693-Configurable-feature-seeds.patch diff --git a/patches/server/0695-Add-root-admin-user-detection.patch b/patches/server/0694-Add-root-admin-user-detection.patch similarity index 100% rename from patches/server/0695-Add-root-admin-user-detection.patch rename to patches/server/0694-Add-root-admin-user-detection.patch diff --git a/patches/server/0696-Always-allow-item-changing-in-Fireball.patch b/patches/server/0695-Always-allow-item-changing-in-Fireball.patch similarity index 100% rename from patches/server/0696-Always-allow-item-changing-in-Fireball.patch rename to patches/server/0695-Always-allow-item-changing-in-Fireball.patch diff --git a/patches/server/0697-don-t-attempt-to-teleport-dead-entities.patch b/patches/server/0696-don-t-attempt-to-teleport-dead-entities.patch similarity index 91% rename from patches/server/0697-don-t-attempt-to-teleport-dead-entities.patch rename to patches/server/0696-don-t-attempt-to-teleport-dead-entities.patch index bc383e78c4..2a248fca0c 100644 --- a/patches/server/0697-don-t-attempt-to-teleport-dead-entities.patch +++ b/patches/server/0696-don-t-attempt-to-teleport-dead-entities.patch @@ -5,7 +5,7 @@ Subject: [PATCH] don't attempt to teleport dead entities diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0591b20138bf8b36aa7d78fc0c672ab55abf4f24..d2b2ab7415999b76d8cb0747f5b4235b5b4e07f6 100644 +index cee005823020adaef519267630030e8d31b5b994..3086ded2c65b2d623a50401fb0a1612d073da450 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -794,7 +794,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0698-Prevent-excessive-velocity-through-repeated-crits.patch b/patches/server/0697-Prevent-excessive-velocity-through-repeated-crits.patch similarity index 100% rename from patches/server/0698-Prevent-excessive-velocity-through-repeated-crits.patch rename to patches/server/0697-Prevent-excessive-velocity-through-repeated-crits.patch diff --git a/patches/server/0699-Remove-client-side-code-using-deprecated-for-removal.patch b/patches/server/0698-Remove-client-side-code-using-deprecated-for-removal.patch similarity index 93% rename from patches/server/0699-Remove-client-side-code-using-deprecated-for-removal.patch rename to patches/server/0698-Remove-client-side-code-using-deprecated-for-removal.patch index 80174ed254..a495f1b8a5 100644 --- a/patches/server/0699-Remove-client-side-code-using-deprecated-for-removal.patch +++ b/patches/server/0698-Remove-client-side-code-using-deprecated-for-removal.patch @@ -7,7 +7,7 @@ Subject: [PATCH] Remove client-side code using deprecated for removal Fixes warnings on build diff --git a/src/main/java/net/minecraft/Util.java b/src/main/java/net/minecraft/Util.java -index 3b73151b594e6f3882afa2a223d0d7ca5a0b47b3..736c7aed99928af654a8ee30602f705de18a8df6 100644 +index 485eba54061b1f7ad17435bce244135634c62b90..983aae5e9b381f34cbd5a3e167a46dd4b5f8a209 100644 --- a/src/main/java/net/minecraft/Util.java +++ b/src/main/java/net/minecraft/Util.java @@ -952,17 +952,7 @@ public class Util { diff --git a/patches/server/0700-Fix-removing-recipes-from-RecipeIterator.patch b/patches/server/0699-Fix-removing-recipes-from-RecipeIterator.patch similarity index 100% rename from patches/server/0700-Fix-removing-recipes-from-RecipeIterator.patch rename to patches/server/0699-Fix-removing-recipes-from-RecipeIterator.patch diff --git a/patches/server/0701-Prevent-sending-oversized-item-data-in-equipment-and.patch b/patches/server/0700-Prevent-sending-oversized-item-data-in-equipment-and.patch similarity index 100% rename from patches/server/0701-Prevent-sending-oversized-item-data-in-equipment-and.patch rename to patches/server/0700-Prevent-sending-oversized-item-data-in-equipment-and.patch diff --git a/patches/server/0702-Hide-unnecessary-itemmeta-from-clients.patch b/patches/server/0701-Hide-unnecessary-itemmeta-from-clients.patch similarity index 100% rename from patches/server/0702-Hide-unnecessary-itemmeta-from-clients.patch rename to patches/server/0701-Hide-unnecessary-itemmeta-from-clients.patch diff --git a/patches/server/0703-Fix-Spigot-growth-modifiers.patch b/patches/server/0702-Fix-Spigot-growth-modifiers.patch similarity index 100% rename from patches/server/0703-Fix-Spigot-growth-modifiers.patch rename to patches/server/0702-Fix-Spigot-growth-modifiers.patch diff --git a/patches/server/0704-Prevent-ContainerOpenersCounter-openCount-from-going.patch b/patches/server/0703-Prevent-ContainerOpenersCounter-openCount-from-going.patch similarity index 100% rename from patches/server/0704-Prevent-ContainerOpenersCounter-openCount-from-going.patch rename to patches/server/0703-Prevent-ContainerOpenersCounter-openCount-from-going.patch diff --git a/patches/server/0705-Add-PlayerItemFrameChangeEvent.patch b/patches/server/0704-Add-PlayerItemFrameChangeEvent.patch similarity index 100% rename from patches/server/0705-Add-PlayerItemFrameChangeEvent.patch rename to patches/server/0704-Add-PlayerItemFrameChangeEvent.patch diff --git a/patches/server/0706-Optimize-HashMapPalette.patch b/patches/server/0705-Optimize-HashMapPalette.patch similarity index 100% rename from patches/server/0706-Optimize-HashMapPalette.patch rename to patches/server/0705-Optimize-HashMapPalette.patch diff --git a/patches/server/0707-Allow-delegation-to-vanilla-chunk-gen.patch b/patches/server/0706-Allow-delegation-to-vanilla-chunk-gen.patch similarity index 100% rename from patches/server/0707-Allow-delegation-to-vanilla-chunk-gen.patch rename to patches/server/0706-Allow-delegation-to-vanilla-chunk-gen.patch diff --git a/patches/server/0708-Collision-optimisations.patch b/patches/server/0707-Collision-optimisations.patch similarity index 99% rename from patches/server/0708-Collision-optimisations.patch rename to patches/server/0707-Collision-optimisations.patch index 26fe75aa66..1a3f24ba35 100644 --- a/patches/server/0708-Collision-optimisations.patch +++ b/patches/server/0707-Collision-optimisations.patch @@ -2214,7 +2214,7 @@ index f7588787769902506e317bdb052483c5dc377693..8f0d1e9e8a191a2049f3ad2d9b4ffdbd entityplayer1.setPos(entityplayer1.getX(), entityplayer1.getY() + 1.0D, entityplayer1.getZ()); } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index d2b2ab7415999b76d8cb0747f5b4235b5b4e07f6..7d70af32d67c5201e278424f7025eb8db5653d8e 100644 +index 3086ded2c65b2d623a50401fb0a1612d073da450..5be92231bf62285f29dcf32b2ef65baaf5755804 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1217,9 +1217,44 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -3005,7 +3005,7 @@ index 0d685f1f446061cc723d190b16eedcb2ddedfa46..b8188a5d0ac9be4d4ca52bd4faaf5a67 // Paper end diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index 142f9438f75cb7e2d97011fdeb3f9e367ff81599..38d587c93a9ae5706633608f681f18684b7a631d 100644 +index af62781cc96354c87aa63d4f03f9e25b81959081..6c4fd56956982eee743b4dea4e8b925891dd3b6f 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -284,7 +284,7 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -3185,7 +3185,7 @@ index 12edaf88cca54540c617239ac31b2263dfa0ecd7..b39fea80fcb83873b7e7085eaaf935e7 // Paper end } diff --git a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java -index 55208b4889f4af60f2b2b66ed6b102b2cd0bb26b..e21f4c5aff3a8e97101f6efc1349fbecf326b5ea 100644 +index 482616c7cbe12f7a23ec99378e24a87dedc2a8ae..441a6fc9d62e90bbd31569160c4f248c7d0b32de 100644 --- a/src/main/java/net/minecraft/world/level/material/FlowingFluid.java +++ b/src/main/java/net/minecraft/world/level/material/FlowingFluid.java @@ -241,6 +241,17 @@ public abstract class FlowingFluid extends Fluid { diff --git a/patches/server/0709-Optimise-collision-checking-in-player-move-packet-ha.patch b/patches/server/0708-Optimise-collision-checking-in-player-move-packet-ha.patch similarity index 100% rename from patches/server/0709-Optimise-collision-checking-in-player-move-packet-ha.patch rename to patches/server/0708-Optimise-collision-checking-in-player-move-packet-ha.patch diff --git a/patches/server/0710-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch b/patches/server/0709-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch similarity index 100% rename from patches/server/0710-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch rename to patches/server/0709-Fix-ChunkSnapshot-isSectionEmpty-int-and-optimize-Pa.patch diff --git a/patches/server/0711-Add-more-Campfire-API.patch b/patches/server/0710-Add-more-Campfire-API.patch similarity index 100% rename from patches/server/0711-Add-more-Campfire-API.patch rename to patches/server/0710-Add-more-Campfire-API.patch diff --git a/patches/server/0712-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch b/patches/server/0711-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch similarity index 100% rename from patches/server/0712-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch rename to patches/server/0711-Only-write-chunk-data-to-disk-if-it-serializes-witho.patch diff --git a/patches/server/0713-Fix-tripwire-state-inconsistency.patch b/patches/server/0712-Fix-tripwire-state-inconsistency.patch similarity index 100% rename from patches/server/0713-Fix-tripwire-state-inconsistency.patch rename to patches/server/0712-Fix-tripwire-state-inconsistency.patch diff --git a/patches/server/0714-Forward-CraftEntity-in-teleport-command.patch b/patches/server/0713-Forward-CraftEntity-in-teleport-command.patch similarity index 95% rename from patches/server/0714-Forward-CraftEntity-in-teleport-command.patch rename to patches/server/0713-Forward-CraftEntity-in-teleport-command.patch index 4e5fe82d76..f6e58ad284 100644 --- a/patches/server/0714-Forward-CraftEntity-in-teleport-command.patch +++ b/patches/server/0713-Forward-CraftEntity-in-teleport-command.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Forward CraftEntity in teleport command diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 7d70af32d67c5201e278424f7025eb8db5653d8e..0d9d46b97314bd9a95d5d4f35bf196abfd11c200 100644 +index 5be92231bf62285f29dcf32b2ef65baaf5755804..a5820d750e88918ef819be0d0896e31b628ab302 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3531,6 +3531,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0715-Improve-scoreboard-entries.patch b/patches/server/0714-Improve-scoreboard-entries.patch similarity index 100% rename from patches/server/0715-Improve-scoreboard-entries.patch rename to patches/server/0714-Improve-scoreboard-entries.patch diff --git a/patches/server/0716-Entity-powdered-snow-API.patch b/patches/server/0715-Entity-powdered-snow-API.patch similarity index 100% rename from patches/server/0716-Entity-powdered-snow-API.patch rename to patches/server/0715-Entity-powdered-snow-API.patch diff --git a/patches/server/0717-Add-API-for-item-entity-health.patch b/patches/server/0716-Add-API-for-item-entity-health.patch similarity index 100% rename from patches/server/0717-Add-API-for-item-entity-health.patch rename to patches/server/0716-Add-API-for-item-entity-health.patch diff --git a/patches/server/0718-Fix-entity-type-tags-suggestions-in-selectors.patch b/patches/server/0717-Fix-entity-type-tags-suggestions-in-selectors.patch similarity index 100% rename from patches/server/0718-Fix-entity-type-tags-suggestions-in-selectors.patch rename to patches/server/0717-Fix-entity-type-tags-suggestions-in-selectors.patch diff --git a/patches/server/0719-Configurable-max-block-light-for-monster-spawning.patch b/patches/server/0718-Configurable-max-block-light-for-monster-spawning.patch similarity index 100% rename from patches/server/0719-Configurable-max-block-light-for-monster-spawning.patch rename to patches/server/0718-Configurable-max-block-light-for-monster-spawning.patch diff --git a/patches/server/0720-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch b/patches/server/0719-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch similarity index 98% rename from patches/server/0720-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch rename to patches/server/0719-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch index b1fd3d5079..5eefef38a3 100644 --- a/patches/server/0720-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch +++ b/patches/server/0719-Fix-sticky-pistons-and-BlockPistonRetractEvent.patch @@ -27,7 +27,7 @@ Co-authored-by: Zach Brown Co-authored-by: Madeline Miller 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 cda90023ad662e8875365eac98ec69f476dcb42d..470495903a9f0f8b925ddc4fb3d8213c556fccd9 100644 +index de9102f943fe90122b2fe7f94228b4248244374a..1818ab63209017b45a46a80802d500f2d042a208 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 @@ -159,15 +159,15 @@ public class PistonBaseBlock extends DirectionalBlock { diff --git a/patches/server/0721-Load-effect-amplifiers-greater-than-127-correctly.patch b/patches/server/0720-Load-effect-amplifiers-greater-than-127-correctly.patch similarity index 100% rename from patches/server/0721-Load-effect-amplifiers-greater-than-127-correctly.patch rename to patches/server/0720-Load-effect-amplifiers-greater-than-127-correctly.patch diff --git a/patches/server/0722-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch b/patches/server/0721-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch similarity index 100% rename from patches/server/0722-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch rename to patches/server/0721-Expose-isFuel-and-canSmelt-methods-to-FurnaceInvento.patch diff --git a/patches/server/0723-Fix-bees-aging-inside-hives.patch b/patches/server/0722-Fix-bees-aging-inside-hives.patch similarity index 100% rename from patches/server/0723-Fix-bees-aging-inside-hives.patch rename to patches/server/0722-Fix-bees-aging-inside-hives.patch diff --git a/patches/server/0724-Bucketable-API.patch b/patches/server/0723-Bucketable-API.patch similarity index 100% rename from patches/server/0724-Bucketable-API.patch rename to patches/server/0723-Bucketable-API.patch diff --git a/patches/server/0725-Validate-usernames.patch b/patches/server/0724-Validate-usernames.patch similarity index 100% rename from patches/server/0725-Validate-usernames.patch rename to patches/server/0724-Validate-usernames.patch diff --git a/patches/server/0726-Make-water-animal-spawn-height-configurable.patch b/patches/server/0725-Make-water-animal-spawn-height-configurable.patch similarity index 100% rename from patches/server/0726-Make-water-animal-spawn-height-configurable.patch rename to patches/server/0725-Make-water-animal-spawn-height-configurable.patch diff --git a/patches/server/0727-Expose-vanilla-BiomeProvider-from-WorldInfo.patch b/patches/server/0726-Expose-vanilla-BiomeProvider-from-WorldInfo.patch similarity index 100% rename from patches/server/0727-Expose-vanilla-BiomeProvider-from-WorldInfo.patch rename to patches/server/0726-Expose-vanilla-BiomeProvider-from-WorldInfo.patch diff --git a/patches/server/0728-Add-config-option-for-worlds-affected-by-time-cmd.patch b/patches/server/0727-Add-config-option-for-worlds-affected-by-time-cmd.patch similarity index 100% rename from patches/server/0728-Add-config-option-for-worlds-affected-by-time-cmd.patch rename to patches/server/0727-Add-config-option-for-worlds-affected-by-time-cmd.patch diff --git a/patches/server/0729-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch b/patches/server/0728-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch similarity index 100% rename from patches/server/0729-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch rename to patches/server/0728-Add-missing-IAE-check-for-PersistentDataContainer-ha.patch diff --git a/patches/server/0730-Multiple-Entries-with-Scoreboards.patch b/patches/server/0729-Multiple-Entries-with-Scoreboards.patch similarity index 100% rename from patches/server/0730-Multiple-Entries-with-Scoreboards.patch rename to patches/server/0729-Multiple-Entries-with-Scoreboards.patch diff --git a/patches/server/0731-Reset-placed-block-on-exception.patch b/patches/server/0730-Reset-placed-block-on-exception.patch similarity index 100% rename from patches/server/0731-Reset-placed-block-on-exception.patch rename to patches/server/0730-Reset-placed-block-on-exception.patch diff --git a/patches/server/0732-Add-configurable-height-for-slime-spawn.patch b/patches/server/0731-Add-configurable-height-for-slime-spawn.patch similarity index 100% rename from patches/server/0732-Add-configurable-height-for-slime-spawn.patch rename to patches/server/0731-Add-configurable-height-for-slime-spawn.patch diff --git a/patches/server/0733-Fix-xp-reward-for-baby-zombies.patch b/patches/server/0732-Fix-xp-reward-for-baby-zombies.patch similarity index 100% rename from patches/server/0733-Fix-xp-reward-for-baby-zombies.patch rename to patches/server/0732-Fix-xp-reward-for-baby-zombies.patch diff --git a/patches/server/0734-Multi-Block-Change-API-Implementation.patch b/patches/server/0733-Multi-Block-Change-API-Implementation.patch similarity index 100% rename from patches/server/0734-Multi-Block-Change-API-Implementation.patch rename to patches/server/0733-Multi-Block-Change-API-Implementation.patch diff --git a/patches/server/0735-Fix-NotePlayEvent.patch b/patches/server/0734-Fix-NotePlayEvent.patch similarity index 100% rename from patches/server/0735-Fix-NotePlayEvent.patch rename to patches/server/0734-Fix-NotePlayEvent.patch diff --git a/patches/server/0736-Freeze-Tick-Lock-API.patch b/patches/server/0735-Freeze-Tick-Lock-API.patch similarity index 97% rename from patches/server/0736-Freeze-Tick-Lock-API.patch rename to patches/server/0735-Freeze-Tick-Lock-API.patch index 82f27fc507..c84e7d4860 100644 --- a/patches/server/0736-Freeze-Tick-Lock-API.patch +++ b/patches/server/0735-Freeze-Tick-Lock-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Freeze Tick Lock API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0d9d46b97314bd9a95d5d4f35bf196abfd11c200..b9e1f7d74f7ba8d4375077a39738bde6eb98e7ab 100644 +index a5820d750e88918ef819be0d0896e31b628ab302..e61cb14e9451b242c8324d81b462e80832ef73aa 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -409,6 +409,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0737-More-PotionEffectType-API.patch b/patches/server/0736-More-PotionEffectType-API.patch similarity index 100% rename from patches/server/0737-More-PotionEffectType-API.patch rename to patches/server/0736-More-PotionEffectType-API.patch diff --git a/patches/server/0738-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch b/patches/server/0737-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch similarity index 100% rename from patches/server/0738-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch rename to patches/server/0737-Use-a-CHM-for-StructureTemplate.Pallete-cache.patch diff --git a/patches/server/0739-API-for-creating-command-sender-which-forwards-feedb.patch b/patches/server/0738-API-for-creating-command-sender-which-forwards-feedb.patch similarity index 100% rename from patches/server/0739-API-for-creating-command-sender-which-forwards-feedb.patch rename to patches/server/0738-API-for-creating-command-sender-which-forwards-feedb.patch diff --git a/patches/server/0740-Add-missing-structure-set-seed-configs.patch b/patches/server/0739-Add-missing-structure-set-seed-configs.patch similarity index 100% rename from patches/server/0740-Add-missing-structure-set-seed-configs.patch rename to patches/server/0739-Add-missing-structure-set-seed-configs.patch diff --git a/patches/server/0741-Implement-regenerateChunk.patch b/patches/server/0740-Implement-regenerateChunk.patch similarity index 100% rename from patches/server/0741-Implement-regenerateChunk.patch rename to patches/server/0740-Implement-regenerateChunk.patch diff --git a/patches/server/0742-Fix-cancelled-powdered-snow-bucket-placement.patch b/patches/server/0741-Fix-cancelled-powdered-snow-bucket-placement.patch similarity index 95% rename from patches/server/0742-Fix-cancelled-powdered-snow-bucket-placement.patch rename to patches/server/0741-Fix-cancelled-powdered-snow-bucket-placement.patch index 6e39a91486..c19dc00946 100644 --- a/patches/server/0742-Fix-cancelled-powdered-snow-bucket-placement.patch +++ b/patches/server/0741-Fix-cancelled-powdered-snow-bucket-placement.patch @@ -8,7 +8,7 @@ snow bucket didn't revert grass that became snowy because of the placement. diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index fdcec8496abda362e611b42ef054ea730f47f408..8c839dc64b0a0271d7b19ee03a8144cf6224d4b2 100644 +index f23c1695840553ae14e49310b3708a801b5a0f8d..9a21a0aeff0da8e71ef8eea8bbfe3564409b986a 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -379,7 +379,7 @@ public final class ItemStack { diff --git a/patches/server/0743-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch b/patches/server/0742-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch similarity index 100% rename from patches/server/0743-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch rename to patches/server/0742-Add-missing-Validate-calls-to-CraftServer-getSpawnLi.patch diff --git a/patches/server/0744-Add-GameEvent-tags.patch b/patches/server/0743-Add-GameEvent-tags.patch similarity index 100% rename from patches/server/0744-Add-GameEvent-tags.patch rename to patches/server/0743-Add-GameEvent-tags.patch diff --git a/patches/server/0745-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch b/patches/server/0744-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch similarity index 100% rename from patches/server/0745-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch rename to patches/server/0744-Execute-chunk-tasks-fairly-for-worlds-while-waiting-.patch diff --git a/patches/server/0746-Furnace-RecipesUsed-API.patch b/patches/server/0745-Furnace-RecipesUsed-API.patch similarity index 100% rename from patches/server/0746-Furnace-RecipesUsed-API.patch rename to patches/server/0745-Furnace-RecipesUsed-API.patch diff --git a/patches/server/0747-Configurable-sculk-sensor-listener-range.patch b/patches/server/0746-Configurable-sculk-sensor-listener-range.patch similarity index 100% rename from patches/server/0747-Configurable-sculk-sensor-listener-range.patch rename to patches/server/0746-Configurable-sculk-sensor-listener-range.patch diff --git a/patches/server/0748-Add-missing-block-data-mins-and-maxes.patch b/patches/server/0747-Add-missing-block-data-mins-and-maxes.patch similarity index 100% rename from patches/server/0748-Add-missing-block-data-mins-and-maxes.patch rename to patches/server/0747-Add-missing-block-data-mins-and-maxes.patch diff --git a/patches/server/0749-Option-to-have-default-CustomSpawners-in-custom-worl.patch b/patches/server/0748-Option-to-have-default-CustomSpawners-in-custom-worl.patch similarity index 100% rename from patches/server/0749-Option-to-have-default-CustomSpawners-in-custom-worl.patch rename to patches/server/0748-Option-to-have-default-CustomSpawners-in-custom-worl.patch diff --git a/patches/server/0750-Put-world-into-worldlist-before-initing-the-world.patch b/patches/server/0749-Put-world-into-worldlist-before-initing-the-world.patch similarity index 100% rename from patches/server/0750-Put-world-into-worldlist-before-initing-the-world.patch rename to patches/server/0749-Put-world-into-worldlist-before-initing-the-world.patch diff --git a/patches/server/0751-Fix-Entity-Position-Desync.patch b/patches/server/0750-Fix-Entity-Position-Desync.patch similarity index 100% rename from patches/server/0751-Fix-Entity-Position-Desync.patch rename to patches/server/0750-Fix-Entity-Position-Desync.patch diff --git a/patches/server/0752-Custom-Potion-Mixes.patch b/patches/server/0751-Custom-Potion-Mixes.patch similarity index 100% rename from patches/server/0752-Custom-Potion-Mixes.patch rename to patches/server/0751-Custom-Potion-Mixes.patch diff --git a/patches/server/0753-Force-close-world-loading-screen.patch b/patches/server/0752-Force-close-world-loading-screen.patch similarity index 100% rename from patches/server/0753-Force-close-world-loading-screen.patch rename to patches/server/0752-Force-close-world-loading-screen.patch diff --git a/patches/server/0754-Fix-falling-block-spawn-methods.patch b/patches/server/0753-Fix-falling-block-spawn-methods.patch similarity index 100% rename from patches/server/0754-Fix-falling-block-spawn-methods.patch rename to patches/server/0753-Fix-falling-block-spawn-methods.patch diff --git a/patches/server/0755-Expose-furnace-minecart-push-values.patch b/patches/server/0754-Expose-furnace-minecart-push-values.patch similarity index 100% rename from patches/server/0755-Expose-furnace-minecart-push-values.patch rename to patches/server/0754-Expose-furnace-minecart-push-values.patch diff --git a/patches/server/0756-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch b/patches/server/0755-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch similarity index 100% rename from patches/server/0756-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch rename to patches/server/0755-Fix-cancelling-ProjectileHitEvent-for-piercing-arrow.patch diff --git a/patches/server/0757-More-Projectile-API.patch b/patches/server/0756-More-Projectile-API.patch similarity index 99% rename from patches/server/0757-More-Projectile-API.patch rename to patches/server/0756-More-Projectile-API.patch index 1bbc5e7a98..1bf37aade4 100644 --- a/patches/server/0757-More-Projectile-API.patch +++ b/patches/server/0756-More-Projectile-API.patch @@ -20,7 +20,7 @@ public net.minecraft.world.entity.projectile.Projectile canHitEntity(Lnet/minecr Co-authored-by: Nassim Jahnke diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java -index 40307233e5bc67d538f580bc514a033c64d1316a..3f256b87cb4d5ecb745a949e6714682be805e72f 100644 +index bb116b0c75a311d0dc65c032a7727598890ef942..bc003f35251c119db095b73c951bf03d8cb7ba8c 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java @@ -100,6 +100,11 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie @@ -48,8 +48,8 @@ index 40307233e5bc67d538f580bc514a033c64d1316a..3f256b87cb4d5ecb745a949e6714682b } -- private boolean applySplash(List list, @Nullable Entity entity, HitResult position) { // CraftBukkit - Pass MovingObjectPosition // Paper - return boolean -+ private boolean applySplash(List list, @Nullable Entity entity, @Nullable HitResult position) { // CraftBukkit - Pass MovingObjectPosition // Paper - return boolean & More projectile API +- private boolean applySplash(List list, @Nullable Entity entity, HitResult position) { // CraftBukkit - Pass MovingObjectPosition // Paper - Fix potions splash events ++ private boolean applySplash(List list, @Nullable Entity entity, @Nullable HitResult position) { // CraftBukkit - Pass MovingObjectPosition // Paper - Fix potions splash events & More projectile API AABB axisalignedbb = this.getBoundingBox().inflate(4.0D, 2.0D, 4.0D); List list1 = this.level().getEntitiesOfClass(net.minecraft.world.entity.LivingEntity.class, axisalignedbb); Map affected = new HashMap(); // CraftBukkit diff --git a/patches/server/0758-Fix-swamp-hut-cat-generation-deadlock.patch b/patches/server/0757-Fix-swamp-hut-cat-generation-deadlock.patch similarity index 100% rename from patches/server/0758-Fix-swamp-hut-cat-generation-deadlock.patch rename to patches/server/0757-Fix-swamp-hut-cat-generation-deadlock.patch diff --git a/patches/server/0759-Don-t-allow-vehicle-movement-from-players-while-tele.patch b/patches/server/0758-Don-t-allow-vehicle-movement-from-players-while-tele.patch similarity index 100% rename from patches/server/0759-Don-t-allow-vehicle-movement-from-players-while-tele.patch rename to patches/server/0758-Don-t-allow-vehicle-movement-from-players-while-tele.patch diff --git a/patches/server/0760-Implement-getComputedBiome-API.patch b/patches/server/0759-Implement-getComputedBiome-API.patch similarity index 100% rename from patches/server/0760-Implement-getComputedBiome-API.patch rename to patches/server/0759-Implement-getComputedBiome-API.patch diff --git a/patches/server/0761-Make-some-itemstacks-nonnull.patch b/patches/server/0760-Make-some-itemstacks-nonnull.patch similarity index 100% rename from patches/server/0761-Make-some-itemstacks-nonnull.patch rename to patches/server/0760-Make-some-itemstacks-nonnull.patch diff --git a/patches/server/0762-Implement-enchantWithLevels-API.patch b/patches/server/0761-Implement-enchantWithLevels-API.patch similarity index 100% rename from patches/server/0762-Implement-enchantWithLevels-API.patch rename to patches/server/0761-Implement-enchantWithLevels-API.patch diff --git a/patches/server/0763-Fix-saving-in-unloadWorld.patch b/patches/server/0762-Fix-saving-in-unloadWorld.patch similarity index 100% rename from patches/server/0763-Fix-saving-in-unloadWorld.patch rename to patches/server/0762-Fix-saving-in-unloadWorld.patch diff --git a/patches/server/0764-Buffer-OOB-setBlock-calls.patch b/patches/server/0763-Buffer-OOB-setBlock-calls.patch similarity index 100% rename from patches/server/0764-Buffer-OOB-setBlock-calls.patch rename to patches/server/0763-Buffer-OOB-setBlock-calls.patch diff --git a/patches/server/0765-Add-TameableDeathMessageEvent.patch b/patches/server/0764-Add-TameableDeathMessageEvent.patch similarity index 100% rename from patches/server/0765-Add-TameableDeathMessageEvent.patch rename to patches/server/0764-Add-TameableDeathMessageEvent.patch diff --git a/patches/server/0766-Fix-new-block-data-for-EntityChangeBlockEvent.patch b/patches/server/0765-Fix-new-block-data-for-EntityChangeBlockEvent.patch similarity index 97% rename from patches/server/0766-Fix-new-block-data-for-EntityChangeBlockEvent.patch rename to patches/server/0765-Fix-new-block-data-for-EntityChangeBlockEvent.patch index c6786496e5..698d6aa543 100644 --- a/patches/server/0766-Fix-new-block-data-for-EntityChangeBlockEvent.patch +++ b/patches/server/0765-Fix-new-block-data-for-EntityChangeBlockEvent.patch @@ -78,7 +78,7 @@ index 6e1c67ad757e466d122badd547ee3f8421eba9ba..cf4859814a60468f683e3afe285b4934 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java -index 2beece01e1b2acc69eeb92810ce14db01a311f23..71bcd55d9d71fbd5bf3014c7e36d1456d8d5c3fd 100644 +index 0a2c2b847dc516abf31870116056dbdbb22f31d9..45906d273e6d6ec20cf44b4d07efdac68752ee9b 100644 --- a/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java +++ b/src/main/java/net/minecraft/world/entity/boss/wither/WitherBoss.java @@ -374,7 +374,7 @@ public class WitherBoss extends Monster implements PowerableMob, RangedAttackMob @@ -131,7 +131,7 @@ index 6f452605e9dc9ebd9980eae9fdeea34417a37a88..2c60a3765d22909e73b660492410ab84 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java -index 3f256b87cb4d5ecb745a949e6714682be805e72f..d945c0a7b8ba87301e12b49f859e6fbe65de04f3 100644 +index bc003f35251c119db095b73c951bf03d8cb7ba8c..aaed936c7b6a6ebcd69c8c51f5c92c3b1c51ec27 100644 --- a/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java +++ b/src/main/java/net/minecraft/world/entity/projectile/ThrownPotion.java @@ -306,7 +306,7 @@ public class ThrownPotion extends ThrowableItemProjectile implements ItemSupplie @@ -183,11 +183,11 @@ index 443a8a8e2f0791a1455193cb125e1560f5d1edab..8eaf1eaf0f739a12baf6e3e9fe32c007 } // CraftBukkit end diff --git a/src/main/java/net/minecraft/world/level/block/WaterlilyBlock.java b/src/main/java/net/minecraft/world/level/block/WaterlilyBlock.java -index c01cc63497917b0c5d95424c060c69f3693fc871..b6105d178778b326c11b7d29c5e4d8aa2c3a3875 100644 +index 61abbcfe97e3d3e3da5ee658672549d14594ad17..05e14322e519d1399e87beb532e1cc4a95f689aa 100644 --- a/src/main/java/net/minecraft/world/level/block/WaterlilyBlock.java +++ b/src/main/java/net/minecraft/world/level/block/WaterlilyBlock.java @@ -37,7 +37,7 @@ public class WaterlilyBlock extends BushBlock { - if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper + if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (world instanceof ServerLevel && entity instanceof Boat) { // CraftBukkit start - if (!CraftEventFactory.callEntityChangeBlockEvent(entity, pos, Blocks.AIR.defaultBlockState())) { diff --git a/patches/server/0767-fix-player-loottables-running-when-mob-loot-gamerule.patch b/patches/server/0766-fix-player-loottables-running-when-mob-loot-gamerule.patch similarity index 100% rename from patches/server/0767-fix-player-loottables-running-when-mob-loot-gamerule.patch rename to patches/server/0766-fix-player-loottables-running-when-mob-loot-gamerule.patch diff --git a/patches/server/0768-Ensure-entity-passenger-world-matches-ridden-entity.patch b/patches/server/0767-Ensure-entity-passenger-world-matches-ridden-entity.patch similarity index 91% rename from patches/server/0768-Ensure-entity-passenger-world-matches-ridden-entity.patch rename to patches/server/0767-Ensure-entity-passenger-world-matches-ridden-entity.patch index 02140bb268..eaaa489b77 100644 --- a/patches/server/0768-Ensure-entity-passenger-world-matches-ridden-entity.patch +++ b/patches/server/0767-Ensure-entity-passenger-world-matches-ridden-entity.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Ensure entity passenger world matches ridden entity Bad plugins doing this would cause some obvious problems... diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b9e1f7d74f7ba8d4375077a39738bde6eb98e7ab..b2844876255ec1d30e70b1b7f370b4751fecafb5 100644 +index e61cb14e9451b242c8324d81b462e80832ef73aa..837c5be7ba4caf8ad36262b15b8f5b644fb861db 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2847,7 +2847,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0769-cache-resource-keys.patch b/patches/server/0768-cache-resource-keys.patch similarity index 100% rename from patches/server/0769-cache-resource-keys.patch rename to patches/server/0768-cache-resource-keys.patch diff --git a/patches/server/0770-Allow-changing-the-EnderDragon-podium.patch b/patches/server/0769-Allow-changing-the-EnderDragon-podium.patch similarity index 100% rename from patches/server/0770-Allow-changing-the-EnderDragon-podium.patch rename to patches/server/0769-Allow-changing-the-EnderDragon-podium.patch diff --git a/patches/server/0771-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch b/patches/server/0770-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch similarity index 100% rename from patches/server/0771-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch rename to patches/server/0770-Fix-NBT-pieces-overriding-a-block-entity-during-worl.patch diff --git a/patches/server/0772-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch b/patches/server/0771-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch similarity index 100% rename from patches/server/0772-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch rename to patches/server/0771-Fix-StructureGrowEvent-species-for-RED_MUSHROOM.patch diff --git a/patches/server/0773-Prevent-tile-entity-copies-loading-chunks.patch b/patches/server/0772-Prevent-tile-entity-copies-loading-chunks.patch similarity index 100% rename from patches/server/0773-Prevent-tile-entity-copies-loading-chunks.patch rename to patches/server/0772-Prevent-tile-entity-copies-loading-chunks.patch diff --git a/patches/server/0774-Use-username-instead-of-display-name-in-PlayerList-g.patch b/patches/server/0773-Use-username-instead-of-display-name-in-PlayerList-g.patch similarity index 100% rename from patches/server/0774-Use-username-instead-of-display-name-in-PlayerList-g.patch rename to patches/server/0773-Use-username-instead-of-display-name-in-PlayerList-g.patch diff --git a/patches/server/0775-Pass-ServerLevel-for-gamerule-callbacks.patch b/patches/server/0774-Pass-ServerLevel-for-gamerule-callbacks.patch similarity index 100% rename from patches/server/0775-Pass-ServerLevel-for-gamerule-callbacks.patch rename to patches/server/0774-Pass-ServerLevel-for-gamerule-callbacks.patch diff --git a/patches/server/0776-Expand-PlayerItemDamageEvent.patch b/patches/server/0775-Expand-PlayerItemDamageEvent.patch similarity index 79% rename from patches/server/0776-Expand-PlayerItemDamageEvent.patch rename to patches/server/0775-Expand-PlayerItemDamageEvent.patch index 8074d7b6ff..b2968fc298 100644 --- a/patches/server/0776-Expand-PlayerItemDamageEvent.patch +++ b/patches/server/0775-Expand-PlayerItemDamageEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expand PlayerItemDamageEvent diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 8c839dc64b0a0271d7b19ee03a8144cf6224d4b2..66bb955bb338e4d1689daace28ebe295b6884554 100644 +index 9a21a0aeff0da8e71ef8eea8bbfe3564409b986a..c134cf3f86b75de5ef66b23642624436cc934159 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -638,10 +638,11 @@ public final class ItemStack { @@ -15,9 +15,9 @@ index 8c839dc64b0a0271d7b19ee03a8144cf6224d4b2..66bb955bb338e4d1689daace28ebe295 + int originalDamage = amount; // Paper - Expand PlayerItemDamageEvent amount -= k; // CraftBukkit start - if (player instanceof ServerPlayer serverPlayer) { // Paper -- PlayerItemDamageEvent event = new PlayerItemDamageEvent(serverPlayer.getBukkitEntity(), CraftItemStack.asCraftMirror(this), amount); // Paper -+ PlayerItemDamageEvent event = new PlayerItemDamageEvent(serverPlayer.getBukkitEntity(), CraftItemStack.asCraftMirror(this), amount, originalDamage); // Paper - Expand PlayerItemDamageEvent + if (player instanceof ServerPlayer serverPlayer) { // Paper - Add EntityDamageItemEvent +- PlayerItemDamageEvent event = new PlayerItemDamageEvent(serverPlayer.getBukkitEntity(), CraftItemStack.asCraftMirror(this), amount); // Paper - Add EntityDamageItemEvent ++ PlayerItemDamageEvent event = new PlayerItemDamageEvent(serverPlayer.getBukkitEntity(), CraftItemStack.asCraftMirror(this), amount, originalDamage); // Paper - Add EntityDamageItemEvent & Expand PlayerItemDamageEvent event.getPlayer().getServer().getPluginManager().callEvent(event); if (amount != event.getDamage() || event.isCancelled()) { diff --git a/patches/server/0777-WorldCreator-keepSpawnLoaded.patch b/patches/server/0776-WorldCreator-keepSpawnLoaded.patch similarity index 100% rename from patches/server/0777-WorldCreator-keepSpawnLoaded.patch rename to patches/server/0776-WorldCreator-keepSpawnLoaded.patch diff --git a/patches/server/0778-Fix-CME-in-CraftPersistentDataTypeRegistry.patch b/patches/server/0777-Fix-CME-in-CraftPersistentDataTypeRegistry.patch similarity index 100% rename from patches/server/0778-Fix-CME-in-CraftPersistentDataTypeRegistry.patch rename to patches/server/0777-Fix-CME-in-CraftPersistentDataTypeRegistry.patch diff --git a/patches/server/0779-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch b/patches/server/0778-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch similarity index 100% rename from patches/server/0779-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch rename to patches/server/0778-Trigger-bee_nest_destroyed-trigger-in-the-correct-pl.patch diff --git a/patches/server/0780-Add-EntityDyeEvent-and-CollarColorable-interface.patch b/patches/server/0779-Add-EntityDyeEvent-and-CollarColorable-interface.patch similarity index 100% rename from patches/server/0780-Add-EntityDyeEvent-and-CollarColorable-interface.patch rename to patches/server/0779-Add-EntityDyeEvent-and-CollarColorable-interface.patch diff --git a/patches/server/0781-Fire-CauldronLevelChange-on-initial-fill.patch b/patches/server/0780-Fire-CauldronLevelChange-on-initial-fill.patch similarity index 100% rename from patches/server/0781-Fire-CauldronLevelChange-on-initial-fill.patch rename to patches/server/0780-Fire-CauldronLevelChange-on-initial-fill.patch diff --git a/patches/server/0782-fix-powder-snow-cauldrons-not-turning-to-water.patch b/patches/server/0781-fix-powder-snow-cauldrons-not-turning-to-water.patch similarity index 100% rename from patches/server/0782-fix-powder-snow-cauldrons-not-turning-to-water.patch rename to patches/server/0781-fix-powder-snow-cauldrons-not-turning-to-water.patch diff --git a/patches/server/0783-Add-PlayerStopUsingItemEvent.patch b/patches/server/0782-Add-PlayerStopUsingItemEvent.patch similarity index 100% rename from patches/server/0783-Add-PlayerStopUsingItemEvent.patch rename to patches/server/0782-Add-PlayerStopUsingItemEvent.patch diff --git a/patches/server/0784-Don-t-tick-markers.patch b/patches/server/0783-Don-t-tick-markers.patch similarity index 100% rename from patches/server/0784-Don-t-tick-markers.patch rename to patches/server/0783-Don-t-tick-markers.patch diff --git a/patches/server/0785-Expand-FallingBlock-API.patch b/patches/server/0784-Expand-FallingBlock-API.patch similarity index 100% rename from patches/server/0785-Expand-FallingBlock-API.patch rename to patches/server/0784-Expand-FallingBlock-API.patch diff --git a/patches/server/0786-Do-not-accept-invalid-client-settings.patch b/patches/server/0785-Do-not-accept-invalid-client-settings.patch similarity index 100% rename from patches/server/0786-Do-not-accept-invalid-client-settings.patch rename to patches/server/0785-Do-not-accept-invalid-client-settings.patch diff --git a/patches/server/0787-Add-support-for-Proxy-Protocol.patch b/patches/server/0786-Add-support-for-Proxy-Protocol.patch similarity index 100% rename from patches/server/0787-Add-support-for-Proxy-Protocol.patch rename to patches/server/0786-Add-support-for-Proxy-Protocol.patch diff --git a/patches/server/0788-Fix-OfflinePlayer-getBedSpawnLocation.patch b/patches/server/0787-Fix-OfflinePlayer-getBedSpawnLocation.patch similarity index 100% rename from patches/server/0788-Fix-OfflinePlayer-getBedSpawnLocation.patch rename to patches/server/0787-Fix-OfflinePlayer-getBedSpawnLocation.patch diff --git a/patches/server/0789-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch b/patches/server/0788-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch similarity index 100% rename from patches/server/0789-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch rename to patches/server/0788-Fix-FurnaceInventory-for-smokers-and-blast-furnaces.patch diff --git a/patches/server/0790-Sanitize-sent-BlockEntity-NBT.patch b/patches/server/0789-Sanitize-sent-BlockEntity-NBT.patch similarity index 100% rename from patches/server/0790-Sanitize-sent-BlockEntity-NBT.patch rename to patches/server/0789-Sanitize-sent-BlockEntity-NBT.patch diff --git a/patches/server/0791-Disable-component-selector-resolving-in-books-by-def.patch b/patches/server/0790-Disable-component-selector-resolving-in-books-by-def.patch similarity index 100% rename from patches/server/0791-Disable-component-selector-resolving-in-books-by-def.patch rename to patches/server/0790-Disable-component-selector-resolving-in-books-by-def.patch diff --git a/patches/server/0792-Prevent-entity-loading-causing-async-lookups.patch b/patches/server/0791-Prevent-entity-loading-causing-async-lookups.patch similarity index 97% rename from patches/server/0792-Prevent-entity-loading-causing-async-lookups.patch rename to patches/server/0791-Prevent-entity-loading-causing-async-lookups.patch index 0d3b511891..1d3f44f5e8 100644 --- a/patches/server/0792-Prevent-entity-loading-causing-async-lookups.patch +++ b/patches/server/0791-Prevent-entity-loading-causing-async-lookups.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Prevent entity loading causing async lookups diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index b2844876255ec1d30e70b1b7f370b4751fecafb5..5f8edf65598f1bed0b1726e645dc857ebb6d2e57 100644 +index 837c5be7ba4caf8ad36262b15b8f5b644fb861db..2804758ce72c943fa47c1ead685032c9501a0ea9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -803,6 +803,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0793-Throw-exception-on-world-create-while-being-ticked.patch b/patches/server/0792-Throw-exception-on-world-create-while-being-ticked.patch similarity index 100% rename from patches/server/0793-Throw-exception-on-world-create-while-being-ticked.patch rename to patches/server/0792-Throw-exception-on-world-create-while-being-ticked.patch diff --git a/patches/server/0794-Add-Alternate-Current-redstone-implementation.patch b/patches/server/0793-Add-Alternate-Current-redstone-implementation.patch similarity index 100% rename from patches/server/0794-Add-Alternate-Current-redstone-implementation.patch rename to patches/server/0793-Add-Alternate-Current-redstone-implementation.patch diff --git a/patches/server/0795-Dont-resent-entity-on-art-update.patch b/patches/server/0794-Dont-resent-entity-on-art-update.patch similarity index 100% rename from patches/server/0795-Dont-resent-entity-on-art-update.patch rename to patches/server/0794-Dont-resent-entity-on-art-update.patch diff --git a/patches/server/0796-Add-WardenAngerChangeEvent.patch b/patches/server/0795-Add-WardenAngerChangeEvent.patch similarity index 100% rename from patches/server/0796-Add-WardenAngerChangeEvent.patch rename to patches/server/0795-Add-WardenAngerChangeEvent.patch diff --git a/patches/server/0797-Add-option-for-strict-advancement-dimension-checks.patch b/patches/server/0796-Add-option-for-strict-advancement-dimension-checks.patch similarity index 100% rename from patches/server/0797-Add-option-for-strict-advancement-dimension-checks.patch rename to patches/server/0796-Add-option-for-strict-advancement-dimension-checks.patch diff --git a/patches/server/0798-Add-missing-important-BlockStateListPopulator-method.patch b/patches/server/0797-Add-missing-important-BlockStateListPopulator-method.patch similarity index 100% rename from patches/server/0798-Add-missing-important-BlockStateListPopulator-method.patch rename to patches/server/0797-Add-missing-important-BlockStateListPopulator-method.patch diff --git a/patches/server/0799-Nameable-Banner-API.patch b/patches/server/0798-Nameable-Banner-API.patch similarity index 100% rename from patches/server/0799-Nameable-Banner-API.patch rename to patches/server/0798-Nameable-Banner-API.patch diff --git a/patches/server/0800-Don-t-broadcast-messages-to-command-blocks.patch b/patches/server/0799-Don-t-broadcast-messages-to-command-blocks.patch similarity index 100% rename from patches/server/0800-Don-t-broadcast-messages-to-command-blocks.patch rename to patches/server/0799-Don-t-broadcast-messages-to-command-blocks.patch diff --git a/patches/server/0801-Prevent-empty-items-from-being-added-to-world.patch b/patches/server/0800-Prevent-empty-items-from-being-added-to-world.patch similarity index 100% rename from patches/server/0801-Prevent-empty-items-from-being-added-to-world.patch rename to patches/server/0800-Prevent-empty-items-from-being-added-to-world.patch diff --git a/patches/server/0802-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch b/patches/server/0801-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch similarity index 100% rename from patches/server/0802-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch rename to patches/server/0801-Fix-CCE-for-SplashPotion-and-LingeringPotion-spawnin.patch diff --git a/patches/server/0803-Add-Player-getFishHook.patch b/patches/server/0802-Add-Player-getFishHook.patch similarity index 100% rename from patches/server/0803-Add-Player-getFishHook.patch rename to patches/server/0802-Add-Player-getFishHook.patch diff --git a/patches/server/0804-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch b/patches/server/0803-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch similarity index 100% rename from patches/server/0804-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch rename to patches/server/0803-Do-not-sync-load-chunk-for-dynamic-game-event-listen.patch diff --git a/patches/server/0805-Add-various-missing-EntityDropItemEvent-calls.patch b/patches/server/0804-Add-various-missing-EntityDropItemEvent-calls.patch similarity index 98% rename from patches/server/0805-Add-various-missing-EntityDropItemEvent-calls.patch rename to patches/server/0804-Add-various-missing-EntityDropItemEvent-calls.patch index 7dfeb7b4ec..1fc3b95af3 100644 --- a/patches/server/0805-Add-various-missing-EntityDropItemEvent-calls.patch +++ b/patches/server/0804-Add-various-missing-EntityDropItemEvent-calls.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add various missing EntityDropItemEvent calls diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5f8edf65598f1bed0b1726e645dc857ebb6d2e57..67e5536b9e6fac1fe4f70fe0551b399380ec416f 100644 +index 2804758ce72c943fa47c1ead685032c9501a0ea9..071fc07228253d55edaf17950db80bb25001f7f8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2699,6 +2699,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0806-Fix-Bee-flower-NPE.patch b/patches/server/0805-Fix-Bee-flower-NPE.patch similarity index 100% rename from patches/server/0806-Fix-Bee-flower-NPE.patch rename to patches/server/0805-Fix-Bee-flower-NPE.patch diff --git a/patches/server/0807-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch b/patches/server/0806-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch similarity index 100% rename from patches/server/0807-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch rename to patches/server/0806-Fix-Spigot-Config-not-using-commands.spam-exclusions.patch diff --git a/patches/server/0808-More-Teleport-API.patch b/patches/server/0807-More-Teleport-API.patch similarity index 100% rename from patches/server/0808-More-Teleport-API.patch rename to patches/server/0807-More-Teleport-API.patch diff --git a/patches/server/0809-Add-EntityPortalReadyEvent.patch b/patches/server/0808-Add-EntityPortalReadyEvent.patch similarity index 95% rename from patches/server/0809-Add-EntityPortalReadyEvent.patch rename to patches/server/0808-Add-EntityPortalReadyEvent.patch index 4a6e7d5cd8..c06f957a1e 100644 --- a/patches/server/0809-Add-EntityPortalReadyEvent.patch +++ b/patches/server/0808-Add-EntityPortalReadyEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add EntityPortalReadyEvent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 67e5536b9e6fac1fe4f70fe0551b399380ec416f..c7022c10896f53379e3759f597b393143972163c 100644 +index 071fc07228253d55edaf17950db80bb25001f7f8..0d427f0a70c8d85762fededfe920418d66636ebb 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3099,6 +3099,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0810-Don-t-use-level-random-in-entity-constructors.patch b/patches/server/0809-Don-t-use-level-random-in-entity-constructors.patch similarity index 100% rename from patches/server/0810-Don-t-use-level-random-in-entity-constructors.patch rename to patches/server/0809-Don-t-use-level-random-in-entity-constructors.patch diff --git a/patches/server/0811-Send-block-entities-after-destroy-prediction.patch b/patches/server/0810-Send-block-entities-after-destroy-prediction.patch similarity index 100% rename from patches/server/0811-Send-block-entities-after-destroy-prediction.patch rename to patches/server/0810-Send-block-entities-after-destroy-prediction.patch diff --git a/patches/server/0812-Warn-on-plugins-accessing-faraway-chunks.patch b/patches/server/0811-Warn-on-plugins-accessing-faraway-chunks.patch similarity index 100% rename from patches/server/0812-Warn-on-plugins-accessing-faraway-chunks.patch rename to patches/server/0811-Warn-on-plugins-accessing-faraway-chunks.patch diff --git a/patches/server/0813-Custom-Chat-Completion-Suggestions-API.patch b/patches/server/0812-Custom-Chat-Completion-Suggestions-API.patch similarity index 100% rename from patches/server/0813-Custom-Chat-Completion-Suggestions-API.patch rename to patches/server/0812-Custom-Chat-Completion-Suggestions-API.patch diff --git a/patches/server/0814-Add-and-fix-missing-BlockFadeEvents.patch b/patches/server/0813-Add-and-fix-missing-BlockFadeEvents.patch similarity index 100% rename from patches/server/0814-Add-and-fix-missing-BlockFadeEvents.patch rename to patches/server/0813-Add-and-fix-missing-BlockFadeEvents.patch diff --git a/patches/server/0815-Collision-API.patch b/patches/server/0814-Collision-API.patch similarity index 100% rename from patches/server/0815-Collision-API.patch rename to patches/server/0814-Collision-API.patch diff --git a/patches/server/0816-Fix-suggest-command-message-for-brigadier-syntax-exc.patch b/patches/server/0815-Fix-suggest-command-message-for-brigadier-syntax-exc.patch similarity index 100% rename from patches/server/0816-Fix-suggest-command-message-for-brigadier-syntax-exc.patch rename to patches/server/0815-Fix-suggest-command-message-for-brigadier-syntax-exc.patch diff --git a/patches/server/0817-Block-Ticking-API.patch b/patches/server/0816-Block-Ticking-API.patch similarity index 100% rename from patches/server/0817-Block-Ticking-API.patch rename to patches/server/0816-Block-Ticking-API.patch diff --git a/patches/server/0818-Add-Velocity-IP-Forwarding-Support.patch b/patches/server/0817-Add-Velocity-IP-Forwarding-Support.patch similarity index 100% rename from patches/server/0818-Add-Velocity-IP-Forwarding-Support.patch rename to patches/server/0817-Add-Velocity-IP-Forwarding-Support.patch diff --git a/patches/server/0819-Add-NamespacedKey-biome-methods.patch b/patches/server/0818-Add-NamespacedKey-biome-methods.patch similarity index 100% rename from patches/server/0819-Add-NamespacedKey-biome-methods.patch rename to patches/server/0818-Add-NamespacedKey-biome-methods.patch diff --git a/patches/server/0820-Fix-plugin-loggers-on-server-shutdown.patch b/patches/server/0819-Fix-plugin-loggers-on-server-shutdown.patch similarity index 100% rename from patches/server/0820-Fix-plugin-loggers-on-server-shutdown.patch rename to patches/server/0819-Fix-plugin-loggers-on-server-shutdown.patch diff --git a/patches/server/0821-Stop-large-look-changes-from-crashing-the-server.patch b/patches/server/0820-Stop-large-look-changes-from-crashing-the-server.patch similarity index 100% rename from patches/server/0821-Stop-large-look-changes-from-crashing-the-server.patch rename to patches/server/0820-Stop-large-look-changes-from-crashing-the-server.patch diff --git a/patches/server/0822-Fire-EntityChangeBlockEvent-in-more-places.patch b/patches/server/0821-Fire-EntityChangeBlockEvent-in-more-places.patch similarity index 100% rename from patches/server/0822-Fire-EntityChangeBlockEvent-in-more-places.patch rename to patches/server/0821-Fire-EntityChangeBlockEvent-in-more-places.patch diff --git a/patches/server/0823-Missing-eating-regain-reason.patch b/patches/server/0822-Missing-eating-regain-reason.patch similarity index 100% rename from patches/server/0823-Missing-eating-regain-reason.patch rename to patches/server/0822-Missing-eating-regain-reason.patch diff --git a/patches/server/0824-Missing-effect-cause.patch b/patches/server/0823-Missing-effect-cause.patch similarity index 100% rename from patches/server/0824-Missing-effect-cause.patch rename to patches/server/0823-Missing-effect-cause.patch diff --git a/patches/server/0825-Added-byte-array-serialization-deserialization-for-P.patch b/patches/server/0824-Added-byte-array-serialization-deserialization-for-P.patch similarity index 100% rename from patches/server/0825-Added-byte-array-serialization-deserialization-for-P.patch rename to patches/server/0824-Added-byte-array-serialization-deserialization-for-P.patch diff --git a/patches/server/0826-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch b/patches/server/0825-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch similarity index 100% rename from patches/server/0826-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch rename to patches/server/0825-Add-a-consumer-parameter-to-ProjectileSource-launchP.patch diff --git a/patches/server/0827-Call-BlockPhysicsEvent-more-often.patch b/patches/server/0826-Call-BlockPhysicsEvent-more-often.patch similarity index 100% rename from patches/server/0827-Call-BlockPhysicsEvent-more-often.patch rename to patches/server/0826-Call-BlockPhysicsEvent-more-often.patch diff --git a/patches/server/0828-Configurable-chat-thread-limit.patch b/patches/server/0827-Configurable-chat-thread-limit.patch similarity index 100% rename from patches/server/0828-Configurable-chat-thread-limit.patch rename to patches/server/0827-Configurable-chat-thread-limit.patch diff --git a/patches/server/0829-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch b/patches/server/0828-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch similarity index 100% rename from patches/server/0829-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch rename to patches/server/0828-Mitigate-effects-of-WorldCreator-keepSpawnLoaded-ret.patch diff --git a/patches/server/0830-fix-Jigsaw-block-kicking-user.patch b/patches/server/0829-fix-Jigsaw-block-kicking-user.patch similarity index 100% rename from patches/server/0830-fix-Jigsaw-block-kicking-user.patch rename to patches/server/0829-fix-Jigsaw-block-kicking-user.patch diff --git a/patches/server/0831-use-BlockFormEvent-for-mud-converting-into-clay.patch b/patches/server/0830-use-BlockFormEvent-for-mud-converting-into-clay.patch similarity index 100% rename from patches/server/0831-use-BlockFormEvent-for-mud-converting-into-clay.patch rename to patches/server/0830-use-BlockFormEvent-for-mud-converting-into-clay.patch diff --git a/patches/server/0832-Add-getDrops-to-BlockState.patch b/patches/server/0831-Add-getDrops-to-BlockState.patch similarity index 100% rename from patches/server/0832-Add-getDrops-to-BlockState.patch rename to patches/server/0831-Add-getDrops-to-BlockState.patch diff --git a/patches/server/0833-Fix-a-bunch-of-vanilla-bugs.patch b/patches/server/0832-Fix-a-bunch-of-vanilla-bugs.patch similarity index 98% rename from patches/server/0833-Fix-a-bunch-of-vanilla-bugs.patch rename to patches/server/0832-Fix-a-bunch-of-vanilla-bugs.patch index a2d0ca49c5..dbf556d50c 100644 --- a/patches/server/0833-Fix-a-bunch-of-vanilla-bugs.patch +++ b/patches/server/0832-Fix-a-bunch-of-vanilla-bugs.patch @@ -77,7 +77,7 @@ Co-authored-by: William Blake Galbreath Co-authored-by: Spottedleaf diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index 9f220c99d7374ab3d9db222346694342d3e926c1..d9077127757886e5d5e8d63a46fe27f2bfba1420 100644 +index d41e3e5382b17d3de41054b496c1707a926a897a..cf22a46fdb45ac86571c93640ce7a8e1117190cd 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -351,7 +351,7 @@ public interface DispenseItemBehavior { @@ -129,7 +129,7 @@ index 534493aaddced9200e1618d5eabf2b176a1f35b6..a58c47b16254262ec705a8f986ef42c7 return this.anyPlayerCloseEnoughForSpawning(pos, false); } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index cf9f2d309a2b8ff67bd43bf191ab37e50baacaff..81db115871c524209adec41e79e37bbfb876805b 100644 +index 1089c0ad619784d25b1384db2f09eebb53fa4536..4ffb462f051744d5f7f7b4cf0c49f5d1533d1d53 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -1032,7 +1032,7 @@ public class ServerLevel extends Level implements WorldGenLevel { @@ -142,7 +142,7 @@ index cf9f2d309a2b8ff67bd43bf191ab37e50baacaff..81db115871c524209adec41e79e37bbf if (!list.isEmpty()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 202077ef20e15e7e02a37babc1fb31478db4e92b..62110908f3230aa3e3b81772fed67aee8171cc53 100644 +index a4031882dfbded253c53e5e225fbcf0f06475fb5..6b7c52a190bf2e69887dd68c88f1c6707c321924 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -468,14 +468,14 @@ public class ServerPlayer extends Player { @@ -176,7 +176,7 @@ index 5333488e606f2966271e1d25bacfa4196ca5145b..9a68d910b0629c0dc7dce482f81752de this.player.server.getPlayerList().broadcastAll(new ClientboundPlayerInfoUpdatePacket(ClientboundPlayerInfoUpdatePacket.Action.UPDATE_GAME_MODE, this.player), this.player); // CraftBukkit this.level.updateSleepingPlayerList(); diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 57fa7cdcb2feb959cb413d4675fca11544236628..423aa9b56c9e9152bba00f47a71ae41612bebdbd 100644 +index 633be3e140a17ac65d13f72382e2ef73bf815e47..71d5ffd9a5ac54d5acd25d07466e79d64996444e 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -711,8 +711,10 @@ public abstract class PlayerList { @@ -442,11 +442,11 @@ index 6e45582f8ea7dd2a46f58369c5581764538bff0d..3ecc92439fc85d224ff52f41c5e34079 + // Paper end } diff --git a/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java b/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java -index db8d2157df0b276313493af224be343ae0de0917..b53d27965d91ee19722f0325f6e0ba3a08684ea5 100644 +index 5199ad9ca36ccd18eb2ff191feaf4331404049d2..f41ffeb9062b661c2b8cf09c0d6848550591eaa7 100644 --- a/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java +++ b/src/main/java/net/minecraft/world/level/block/LayeredCauldronBlock.java @@ -68,7 +68,7 @@ public class LayeredCauldronBlock extends AbstractCauldronBlock { - if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper + if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (!world.isClientSide && entity.isOnFire() && this.isEntityInsideContent(state, pos, entity)) { // CraftBukkit start - if (entity.mayInteract(world, pos)) { diff --git a/patches/server/0834-Remove-unnecessary-onTrackingStart-during-navigation.patch b/patches/server/0833-Remove-unnecessary-onTrackingStart-during-navigation.patch similarity index 100% rename from patches/server/0834-Remove-unnecessary-onTrackingStart-during-navigation.patch rename to patches/server/0833-Remove-unnecessary-onTrackingStart-during-navigation.patch diff --git a/patches/server/0835-Fix-custom-piglin-loved-items.patch b/patches/server/0834-Fix-custom-piglin-loved-items.patch similarity index 100% rename from patches/server/0835-Fix-custom-piglin-loved-items.patch rename to patches/server/0834-Fix-custom-piglin-loved-items.patch diff --git a/patches/server/0836-EntityPickupItemEvent-fixes.patch b/patches/server/0835-EntityPickupItemEvent-fixes.patch similarity index 100% rename from patches/server/0836-EntityPickupItemEvent-fixes.patch rename to patches/server/0835-EntityPickupItemEvent-fixes.patch diff --git a/patches/server/0837-Correctly-handle-interactions-with-items-on-cooldown.patch b/patches/server/0836-Correctly-handle-interactions-with-items-on-cooldown.patch similarity index 100% rename from patches/server/0837-Correctly-handle-interactions-with-items-on-cooldown.patch rename to patches/server/0836-Correctly-handle-interactions-with-items-on-cooldown.patch diff --git a/patches/server/0838-Add-PlayerInventorySlotChangeEvent.patch b/patches/server/0837-Add-PlayerInventorySlotChangeEvent.patch similarity index 100% rename from patches/server/0838-Add-PlayerInventorySlotChangeEvent.patch rename to patches/server/0837-Add-PlayerInventorySlotChangeEvent.patch diff --git a/patches/server/0839-Elder-Guardian-appearance-API.patch b/patches/server/0838-Elder-Guardian-appearance-API.patch similarity index 100% rename from patches/server/0839-Elder-Guardian-appearance-API.patch rename to patches/server/0838-Elder-Guardian-appearance-API.patch diff --git a/patches/server/0840-Allow-changing-bed-s-occupied-property.patch b/patches/server/0839-Allow-changing-bed-s-occupied-property.patch similarity index 100% rename from patches/server/0840-Allow-changing-bed-s-occupied-property.patch rename to patches/server/0839-Allow-changing-bed-s-occupied-property.patch diff --git a/patches/server/0841-Add-entity-knockback-API.patch b/patches/server/0840-Add-entity-knockback-API.patch similarity index 100% rename from patches/server/0841-Add-entity-knockback-API.patch rename to patches/server/0840-Add-entity-knockback-API.patch diff --git a/patches/server/0842-Detect-headless-JREs.patch b/patches/server/0841-Detect-headless-JREs.patch similarity index 100% rename from patches/server/0842-Detect-headless-JREs.patch rename to patches/server/0841-Detect-headless-JREs.patch diff --git a/patches/server/0843-fix-entity-vehicle-collision-event-not-called.patch b/patches/server/0842-fix-entity-vehicle-collision-event-not-called.patch similarity index 100% rename from patches/server/0843-fix-entity-vehicle-collision-event-not-called.patch rename to patches/server/0842-fix-entity-vehicle-collision-event-not-called.patch diff --git a/patches/server/0844-optimize-dirt-and-snow-spreading.patch b/patches/server/0843-optimize-dirt-and-snow-spreading.patch similarity index 100% rename from patches/server/0844-optimize-dirt-and-snow-spreading.patch rename to patches/server/0843-optimize-dirt-and-snow-spreading.patch diff --git a/patches/server/0845-Add-EntityToggleSitEvent.patch b/patches/server/0844-Add-EntityToggleSitEvent.patch similarity index 100% rename from patches/server/0845-Add-EntityToggleSitEvent.patch rename to patches/server/0844-Add-EntityToggleSitEvent.patch diff --git a/patches/server/0846-Add-fire-tick-delay-option.patch b/patches/server/0845-Add-fire-tick-delay-option.patch similarity index 100% rename from patches/server/0846-Add-fire-tick-delay-option.patch rename to patches/server/0845-Add-fire-tick-delay-option.patch diff --git a/patches/server/0847-Add-Moving-Piston-API.patch b/patches/server/0846-Add-Moving-Piston-API.patch similarity index 100% rename from patches/server/0847-Add-Moving-Piston-API.patch rename to patches/server/0846-Add-Moving-Piston-API.patch diff --git a/patches/server/0848-Ignore-impossible-spawn-tick.patch b/patches/server/0847-Ignore-impossible-spawn-tick.patch similarity index 100% rename from patches/server/0848-Ignore-impossible-spawn-tick.patch rename to patches/server/0847-Ignore-impossible-spawn-tick.patch diff --git a/patches/server/0849-Track-projectile-source-for-fireworks-from-dispenser.patch b/patches/server/0848-Track-projectile-source-for-fireworks-from-dispenser.patch similarity index 93% rename from patches/server/0849-Track-projectile-source-for-fireworks-from-dispenser.patch rename to patches/server/0848-Track-projectile-source-for-fireworks-from-dispenser.patch index 4cb8a0af3b..c5d89093dc 100644 --- a/patches/server/0849-Track-projectile-source-for-fireworks-from-dispenser.patch +++ b/patches/server/0848-Track-projectile-source-for-fireworks-from-dispenser.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Track projectile source for fireworks from dispensers diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index d9077127757886e5d5e8d63a46fe27f2bfba1420..da3081ff803431288843deda87f90165e2bc73f9 100644 +index cf22a46fdb45ac86571c93640ce7a8e1117190cd..0ae7a1bbb78af9f5b0efa0802a6d2128871da762 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -517,6 +517,7 @@ public interface DispenseItemBehavior { diff --git a/patches/server/0850-Fix-EntityArgument-suggestion-permissions-to-align-w.patch b/patches/server/0849-Fix-EntityArgument-suggestion-permissions-to-align-w.patch similarity index 100% rename from patches/server/0850-Fix-EntityArgument-suggestion-permissions-to-align-w.patch rename to patches/server/0849-Fix-EntityArgument-suggestion-permissions-to-align-w.patch diff --git a/patches/server/0851-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch b/patches/server/0850-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch similarity index 95% rename from patches/server/0851-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch rename to patches/server/0850-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch index 5e1ef1ce6d..7b9426fb6f 100644 --- a/patches/server/0851-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch +++ b/patches/server/0850-Fix-EntityCombustEvent-cancellation-cant-fully-preve.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Fix EntityCombustEvent cancellation cant fully prevent diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index c7022c10896f53379e3759f597b393143972163c..68956aa1e50bef726cb480e3c317223781eb10eb 100644 +index 0d427f0a70c8d85762fededfe920418d66636ebb..0c1cb3d5892b81b9f8a1894e429bc237c877298d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3378,6 +3378,10 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0852-Add-PrePlayerAttackEntityEvent.patch b/patches/server/0851-Add-PrePlayerAttackEntityEvent.patch similarity index 100% rename from patches/server/0852-Add-PrePlayerAttackEntityEvent.patch rename to patches/server/0851-Add-PrePlayerAttackEntityEvent.patch diff --git a/patches/server/0853-ensure-reset-EnderDragon-boss-event-name.patch b/patches/server/0852-ensure-reset-EnderDragon-boss-event-name.patch similarity index 100% rename from patches/server/0853-ensure-reset-EnderDragon-boss-event-name.patch rename to patches/server/0852-ensure-reset-EnderDragon-boss-event-name.patch diff --git a/patches/server/0854-fix-MC-252817-green-map-markers-do-not-disappear.patch b/patches/server/0853-fix-MC-252817-green-map-markers-do-not-disappear.patch similarity index 100% rename from patches/server/0854-fix-MC-252817-green-map-markers-do-not-disappear.patch rename to patches/server/0853-fix-MC-252817-green-map-markers-do-not-disappear.patch diff --git a/patches/server/0855-Add-Player-Warden-Warning-API.patch b/patches/server/0854-Add-Player-Warden-Warning-API.patch similarity index 100% rename from patches/server/0855-Add-Player-Warden-Warning-API.patch rename to patches/server/0854-Add-Player-Warden-Warning-API.patch diff --git a/patches/server/0856-More-vanilla-friendly-methods-to-update-trades.patch b/patches/server/0855-More-vanilla-friendly-methods-to-update-trades.patch similarity index 100% rename from patches/server/0856-More-vanilla-friendly-methods-to-update-trades.patch rename to patches/server/0855-More-vanilla-friendly-methods-to-update-trades.patch diff --git a/patches/server/0857-Add-paper-dumplisteners-command.patch b/patches/server/0856-Add-paper-dumplisteners-command.patch similarity index 100% rename from patches/server/0857-Add-paper-dumplisteners-command.patch rename to patches/server/0856-Add-paper-dumplisteners-command.patch diff --git a/patches/server/0858-check-global-player-list-where-appropriate.patch b/patches/server/0857-check-global-player-list-where-appropriate.patch similarity index 100% rename from patches/server/0858-check-global-player-list-where-appropriate.patch rename to patches/server/0857-check-global-player-list-where-appropriate.patch diff --git a/patches/server/0859-Fix-async-entity-add-due-to-fungus-trees.patch b/patches/server/0858-Fix-async-entity-add-due-to-fungus-trees.patch similarity index 100% rename from patches/server/0859-Fix-async-entity-add-due-to-fungus-trees.patch rename to patches/server/0858-Fix-async-entity-add-due-to-fungus-trees.patch diff --git a/patches/server/0860-ItemStack-damage-API.patch b/patches/server/0859-ItemStack-damage-API.patch similarity index 100% rename from patches/server/0860-ItemStack-damage-API.patch rename to patches/server/0859-ItemStack-damage-API.patch diff --git a/patches/server/0861-Friction-API.patch b/patches/server/0860-Friction-API.patch similarity index 100% rename from patches/server/0861-Friction-API.patch rename to patches/server/0860-Friction-API.patch diff --git a/patches/server/0862-Ability-to-control-player-s-insomnia-and-phantoms.patch b/patches/server/0861-Ability-to-control-player-s-insomnia-and-phantoms.patch similarity index 100% rename from patches/server/0862-Ability-to-control-player-s-insomnia-and-phantoms.patch rename to patches/server/0861-Ability-to-control-player-s-insomnia-and-phantoms.patch diff --git a/patches/server/0863-Fix-player-kick-on-shutdown.patch b/patches/server/0862-Fix-player-kick-on-shutdown.patch similarity index 100% rename from patches/server/0863-Fix-player-kick-on-shutdown.patch rename to patches/server/0862-Fix-player-kick-on-shutdown.patch diff --git a/patches/server/0864-Sync-offhand-slot-in-menus.patch b/patches/server/0863-Sync-offhand-slot-in-menus.patch similarity index 100% rename from patches/server/0864-Sync-offhand-slot-in-menus.patch rename to patches/server/0863-Sync-offhand-slot-in-menus.patch diff --git a/patches/server/0865-Player-Entity-Tracking-Events.patch b/patches/server/0864-Player-Entity-Tracking-Events.patch similarity index 96% rename from patches/server/0865-Player-Entity-Tracking-Events.patch rename to patches/server/0864-Player-Entity-Tracking-Events.patch index e46dfbad5f..5a6899fbf4 100644 --- a/patches/server/0865-Player-Entity-Tracking-Events.patch +++ b/patches/server/0864-Player-Entity-Tracking-Events.patch @@ -21,7 +21,7 @@ index a58c47b16254262ec705a8f986ef42c71503770d..8c5364e6adecc01f4fa9dcd0b4fd18e8 } else if (this.seenBy.remove(player.connection)) { this.serverEntity.removePairing(player); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 68956aa1e50bef726cb480e3c317223781eb10eb..308573493d899e7df9b4ecbd4fe7cd5a533628d8 100644 +index 0c1cb3d5892b81b9f8a1894e429bc237c877298d..ee3dac1d45e0ab85cd21871029650fbed7310a34 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -4107,7 +4107,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0866-Limit-pet-look-distance.patch b/patches/server/0865-Limit-pet-look-distance.patch similarity index 100% rename from patches/server/0866-Limit-pet-look-distance.patch rename to patches/server/0865-Limit-pet-look-distance.patch diff --git a/patches/server/0867-Properly-resend-entities.patch b/patches/server/0866-Properly-resend-entities.patch similarity index 100% rename from patches/server/0867-Properly-resend-entities.patch rename to patches/server/0866-Properly-resend-entities.patch diff --git a/patches/server/0868-Fixes-and-additions-to-the-SpawnReason-API.patch b/patches/server/0867-Fixes-and-additions-to-the-SpawnReason-API.patch similarity index 100% rename from patches/server/0868-Fixes-and-additions-to-the-SpawnReason-API.patch rename to patches/server/0867-Fixes-and-additions-to-the-SpawnReason-API.patch diff --git a/patches/server/0869-fix-Instruments.patch b/patches/server/0868-fix-Instruments.patch similarity index 100% rename from patches/server/0869-fix-Instruments.patch rename to patches/server/0868-fix-Instruments.patch diff --git a/patches/server/0870-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch b/patches/server/0869-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch similarity index 100% rename from patches/server/0870-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch rename to patches/server/0869-Improve-inlining-for-some-hot-BlockBehavior-and-Flui.patch diff --git a/patches/server/0871-Fix-inconsistencies-in-dispense-events-regarding-sta.patch b/patches/server/0870-Fix-inconsistencies-in-dispense-events-regarding-sta.patch similarity index 99% rename from patches/server/0871-Fix-inconsistencies-in-dispense-events-regarding-sta.patch rename to patches/server/0870-Fix-inconsistencies-in-dispense-events-regarding-sta.patch index f07dc47766..2ffca4c12c 100644 --- a/patches/server/0871-Fix-inconsistencies-in-dispense-events-regarding-sta.patch +++ b/patches/server/0870-Fix-inconsistencies-in-dispense-events-regarding-sta.patch @@ -86,7 +86,7 @@ index 90e1914599b43c8bf813596b3b428d8be3bac1b5..6df0db8b4cdab23494ea34236949ece4 } diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index da3081ff803431288843deda87f90165e2bc73f9..21bba99bf1f06a95cc6834de2886b03ebeb9562f 100644 +index 0ae7a1bbb78af9f5b0efa0802a6d2128871da762..a16fb04c014d3b2f3dac0610f8be81586d41c4e9 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -217,7 +217,7 @@ public interface DispenseItemBehavior { diff --git a/patches/server/0872-Add-BlockLockCheckEvent.patch b/patches/server/0871-Add-BlockLockCheckEvent.patch similarity index 100% rename from patches/server/0872-Add-BlockLockCheckEvent.patch rename to patches/server/0871-Add-BlockLockCheckEvent.patch diff --git a/patches/server/0873-Add-Sneaking-API-for-Entities.patch b/patches/server/0872-Add-Sneaking-API-for-Entities.patch similarity index 100% rename from patches/server/0873-Add-Sneaking-API-for-Entities.patch rename to patches/server/0872-Add-Sneaking-API-for-Entities.patch diff --git a/patches/server/0874-Improve-logging-and-errors.patch b/patches/server/0873-Improve-logging-and-errors.patch similarity index 100% rename from patches/server/0874-Improve-logging-and-errors.patch rename to patches/server/0873-Improve-logging-and-errors.patch diff --git a/patches/server/0875-Improve-PortalEvents.patch b/patches/server/0874-Improve-PortalEvents.patch similarity index 93% rename from patches/server/0875-Improve-PortalEvents.patch rename to patches/server/0874-Improve-PortalEvents.patch index 4baa9b1721..481c409ed0 100644 --- a/patches/server/0875-Improve-PortalEvents.patch +++ b/patches/server/0874-Improve-PortalEvents.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Improve PortalEvents diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 308573493d899e7df9b4ecbd4fe7cd5a533628d8..912913b5d9b71e54661f7e4d1767d7ae149d13f7 100644 +index ee3dac1d45e0ab85cd21871029650fbed7310a34..30e831bc4409260047016279aa5f36d2ad2934b4 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -3765,7 +3765,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0876-Add-config-option-for-spider-worldborder-climbing.patch b/patches/server/0875-Add-config-option-for-spider-worldborder-climbing.patch similarity index 100% rename from patches/server/0876-Add-config-option-for-spider-worldborder-climbing.patch rename to patches/server/0875-Add-config-option-for-spider-worldborder-climbing.patch diff --git a/patches/server/0877-Add-missing-SpigotConfig-logCommands-check.patch b/patches/server/0876-Add-missing-SpigotConfig-logCommands-check.patch similarity index 100% rename from patches/server/0877-Add-missing-SpigotConfig-logCommands-check.patch rename to patches/server/0876-Add-missing-SpigotConfig-logCommands-check.patch diff --git a/patches/server/0878-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch b/patches/server/0877-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch similarity index 100% rename from patches/server/0878-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch rename to patches/server/0877-Fix-NPE-on-Allay-stopDancing-while-not-dancing.patch diff --git a/patches/server/0879-Flying-Fall-Damage.patch b/patches/server/0878-Flying-Fall-Damage.patch similarity index 100% rename from patches/server/0879-Flying-Fall-Damage.patch rename to patches/server/0878-Flying-Fall-Damage.patch diff --git a/patches/server/0880-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch b/patches/server/0879-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch similarity index 100% rename from patches/server/0880-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch rename to patches/server/0879-Add-exploded-block-state-to-BlockExplodeEvent-and-En.patch diff --git a/patches/server/0881-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch b/patches/server/0880-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch similarity index 91% rename from patches/server/0881-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch rename to patches/server/0880-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch index cb64e5ae62..8dbe3cc054 100644 --- a/patches/server/0881-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch +++ b/patches/server/0880-Expose-pre-collision-moving-velocity-to-VehicleBlock.patch @@ -6,7 +6,7 @@ Subject: [PATCH] Expose pre-collision moving velocity to diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 912913b5d9b71e54661f7e4d1767d7ae149d13f7..9c686161a1248af1cc8ae20c67c7b2b8d881e07d 100644 +index 30e831bc4409260047016279aa5f36d2ad2934b4..b295895b2b1f8b3fbf7d97712e14b1447350a0ff 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1162,7 +1162,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0882-config-for-disabling-entity-tag-tags.patch b/patches/server/0881-config-for-disabling-entity-tag-tags.patch similarity index 100% rename from patches/server/0882-config-for-disabling-entity-tag-tags.patch rename to patches/server/0881-config-for-disabling-entity-tag-tags.patch diff --git a/patches/server/0883-Use-single-player-info-update-packet-on-join.patch b/patches/server/0882-Use-single-player-info-update-packet-on-join.patch similarity index 100% rename from patches/server/0883-Use-single-player-info-update-packet-on-join.patch rename to patches/server/0882-Use-single-player-info-update-packet-on-join.patch diff --git a/patches/server/0884-Correctly-shrink-items-during-EntityResurrectEvent.patch b/patches/server/0883-Correctly-shrink-items-during-EntityResurrectEvent.patch similarity index 100% rename from patches/server/0884-Correctly-shrink-items-during-EntityResurrectEvent.patch rename to patches/server/0883-Correctly-shrink-items-during-EntityResurrectEvent.patch diff --git a/patches/server/0885-Win-Screen-API.patch b/patches/server/0884-Win-Screen-API.patch similarity index 100% rename from patches/server/0885-Win-Screen-API.patch rename to patches/server/0884-Win-Screen-API.patch diff --git a/patches/server/0886-Remove-CraftItemStack-setAmount-null-assignment.patch b/patches/server/0885-Remove-CraftItemStack-setAmount-null-assignment.patch similarity index 100% rename from patches/server/0886-Remove-CraftItemStack-setAmount-null-assignment.patch rename to patches/server/0885-Remove-CraftItemStack-setAmount-null-assignment.patch diff --git a/patches/server/0887-Fix-force-opening-enchantment-tables.patch b/patches/server/0886-Fix-force-opening-enchantment-tables.patch similarity index 100% rename from patches/server/0887-Fix-force-opening-enchantment-tables.patch rename to patches/server/0886-Fix-force-opening-enchantment-tables.patch diff --git a/patches/server/0888-Add-Entity-Body-Yaw-API.patch b/patches/server/0887-Add-Entity-Body-Yaw-API.patch similarity index 100% rename from patches/server/0888-Add-Entity-Body-Yaw-API.patch rename to patches/server/0887-Add-Entity-Body-Yaw-API.patch diff --git a/patches/server/0889-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch b/patches/server/0888-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch similarity index 100% rename from patches/server/0889-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch rename to patches/server/0888-Fix-MC-157464-Prevent-sleeping-villagers-moving-towa.patch diff --git a/patches/server/0890-Update-the-flag-when-a-captured-block-state-is-outda.patch b/patches/server/0889-Update-the-flag-when-a-captured-block-state-is-outda.patch similarity index 100% rename from patches/server/0890-Update-the-flag-when-a-captured-block-state-is-outda.patch rename to patches/server/0889-Update-the-flag-when-a-captured-block-state-is-outda.patch diff --git a/patches/server/0891-Add-EntityFertilizeEggEvent.patch b/patches/server/0890-Add-EntityFertilizeEggEvent.patch similarity index 100% rename from patches/server/0891-Add-EntityFertilizeEggEvent.patch rename to patches/server/0890-Add-EntityFertilizeEggEvent.patch diff --git a/patches/server/0892-Fix-HumanEntity-drop-not-updating-the-client-inv.patch b/patches/server/0891-Fix-HumanEntity-drop-not-updating-the-client-inv.patch similarity index 100% rename from patches/server/0892-Fix-HumanEntity-drop-not-updating-the-client-inv.patch rename to patches/server/0891-Fix-HumanEntity-drop-not-updating-the-client-inv.patch diff --git a/patches/server/0893-Add-CompostItemEvent-and-EntityCompostItemEvent.patch b/patches/server/0892-Add-CompostItemEvent-and-EntityCompostItemEvent.patch similarity index 100% rename from patches/server/0893-Add-CompostItemEvent-and-EntityCompostItemEvent.patch rename to patches/server/0892-Add-CompostItemEvent-and-EntityCompostItemEvent.patch diff --git a/patches/server/0894-Correctly-handle-ArmorStand-invisibility.patch b/patches/server/0893-Correctly-handle-ArmorStand-invisibility.patch similarity index 100% rename from patches/server/0894-Correctly-handle-ArmorStand-invisibility.patch rename to patches/server/0893-Correctly-handle-ArmorStand-invisibility.patch diff --git a/patches/server/0895-Fix-advancement-triggers-for-entity-damage.patch b/patches/server/0894-Fix-advancement-triggers-for-entity-damage.patch similarity index 100% rename from patches/server/0895-Fix-advancement-triggers-for-entity-damage.patch rename to patches/server/0894-Fix-advancement-triggers-for-entity-damage.patch diff --git a/patches/server/0896-Fix-text-display-error-on-spawn.patch b/patches/server/0895-Fix-text-display-error-on-spawn.patch similarity index 100% rename from patches/server/0896-Fix-text-display-error-on-spawn.patch rename to patches/server/0895-Fix-text-display-error-on-spawn.patch diff --git a/patches/server/0897-Fix-inventories-returning-null-Locations.patch b/patches/server/0896-Fix-inventories-returning-null-Locations.patch similarity index 100% rename from patches/server/0897-Fix-inventories-returning-null-Locations.patch rename to patches/server/0896-Fix-inventories-returning-null-Locations.patch diff --git a/patches/server/0898-Add-Shearable-API.patch b/patches/server/0897-Add-Shearable-API.patch similarity index 100% rename from patches/server/0898-Add-Shearable-API.patch rename to patches/server/0897-Add-Shearable-API.patch diff --git a/patches/server/0899-Fix-SpawnEggMeta-get-setSpawnedType.patch b/patches/server/0898-Fix-SpawnEggMeta-get-setSpawnedType.patch similarity index 100% rename from patches/server/0899-Fix-SpawnEggMeta-get-setSpawnedType.patch rename to patches/server/0898-Fix-SpawnEggMeta-get-setSpawnedType.patch diff --git a/patches/server/0900-Optimize-Hoppers.patch b/patches/server/0899-Optimize-Hoppers.patch similarity index 99% rename from patches/server/0900-Optimize-Hoppers.patch rename to patches/server/0899-Optimize-Hoppers.patch index 712f9a5637..9b9fd8f6da 100644 --- a/patches/server/0900-Optimize-Hoppers.patch +++ b/patches/server/0899-Optimize-Hoppers.patch @@ -50,7 +50,7 @@ index 0000000000000000000000000000000000000000..5c42823726e70ce6c9d0121d07431548 + } +} diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index b46e1d09a949eee8c7df2c2dced24ffba17a251a..e865a887eab9c43291b73661e8748330167cc682 100644 +index bb8381c51bc6b37111b837710da7e1ccbca6df5d..5868f13fa3a3791704ba8e344b9c51d88786f41b 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -1672,6 +1672,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop { diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 66bb955bb338e4d1689daace28ebe295b6884554..a246e12438402dd692a5171f1e779f5f77d2f212 100644 +index c134cf3f86b75de5ef66b23642624436cc934159..d62fffa3a7cb33600328d413a27ff1bf70298933 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -749,10 +749,16 @@ public final class ItemStack { @@ -105,7 +105,7 @@ index 0fdf74317a20a250b474978c9e50a6c533abfbe6..4ce7a7947fa727e64556148f923508ce } diff --git a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java -index f98367830e87d5f1428448931f756d9277699563..df1c1c27b7c0065f8179d59bdb9de01dde22befa 100644 +index 321d30f1c0d3838b9c3d210eedb03aa59e0761d8..a61d7cd2b078fe511ff00344197b6ea11feebfb2 100644 --- a/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java +++ b/src/main/java/net/minecraft/world/level/block/entity/HopperBlockEntity.java @@ -151,6 +151,43 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen @@ -647,7 +647,7 @@ index f98367830e87d5f1428448931f756d9277699563..df1c1c27b7c0065f8179d59bdb9de01d + ignoreTileUpdates = true; // Paper - Perf: Optimize Hoppers to.setItem(slot, stack); + ignoreTileUpdates = false; // Paper - Perf: Optimize Hoppers - stack = leftover; // Paper + stack = leftover; // Paper - Make hoppers respect inventory max stack size flag = true; } else if (HopperBlockEntity.canMergeItems(itemstack1, stack)) { @@ -517,19 +799,47 @@ public class HopperBlockEntity extends RandomizableContainerBlockEntity implemen diff --git a/patches/server/0901-Fix-beehives-generating-from-using-bonemeal.patch b/patches/server/0900-Fix-beehives-generating-from-using-bonemeal.patch similarity index 96% rename from patches/server/0901-Fix-beehives-generating-from-using-bonemeal.patch rename to patches/server/0900-Fix-beehives-generating-from-using-bonemeal.patch index d2dec51653..f84aee22bc 100644 --- a/patches/server/0901-Fix-beehives-generating-from-using-bonemeal.patch +++ b/patches/server/0900-Fix-beehives-generating-from-using-bonemeal.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix beehives generating from using bonemeal diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index a246e12438402dd692a5171f1e779f5f77d2f212..df38d95c38831c884cbfb4a15b8ba682f0b1ab51 100644 +index d62fffa3a7cb33600328d413a27ff1bf70298933..63cd9cd79217a9bcedb6647e6f61d9bccc28d9f0 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -422,6 +422,7 @@ public final class ItemStack { diff --git a/patches/server/0902-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch b/patches/server/0901-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch similarity index 100% rename from patches/server/0902-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch rename to patches/server/0901-Fix-crash-relating-to-bad-recipes-in-furnace-like-ti.patch diff --git a/patches/server/0903-Treat-sequence-violations-like-they-should-be.patch b/patches/server/0902-Treat-sequence-violations-like-they-should-be.patch similarity index 100% rename from patches/server/0903-Treat-sequence-violations-like-they-should-be.patch rename to patches/server/0902-Treat-sequence-violations-like-they-should-be.patch diff --git a/patches/server/0904-remove-duplicate-animate-packet-for-records.patch b/patches/server/0903-remove-duplicate-animate-packet-for-records.patch similarity index 100% rename from patches/server/0904-remove-duplicate-animate-packet-for-records.patch rename to patches/server/0903-remove-duplicate-animate-packet-for-records.patch diff --git a/patches/server/0905-Prevent-causing-expired-keys-from-impacting-new-join.patch b/patches/server/0904-Prevent-causing-expired-keys-from-impacting-new-join.patch similarity index 100% rename from patches/server/0905-Prevent-causing-expired-keys-from-impacting-new-join.patch rename to patches/server/0904-Prevent-causing-expired-keys-from-impacting-new-join.patch diff --git a/patches/server/0906-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch b/patches/server/0905-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch similarity index 100% rename from patches/server/0906-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch rename to patches/server/0905-Prevent-GameEvents-being-fired-from-unloaded-chunks.patch diff --git a/patches/server/0907-Use-array-for-gamerule-storage.patch b/patches/server/0906-Use-array-for-gamerule-storage.patch similarity index 100% rename from patches/server/0907-Use-array-for-gamerule-storage.patch rename to patches/server/0906-Use-array-for-gamerule-storage.patch diff --git a/patches/server/0908-Fix-a-couple-of-upstream-bed-issues.patch b/patches/server/0907-Fix-a-couple-of-upstream-bed-issues.patch similarity index 100% rename from patches/server/0908-Fix-a-couple-of-upstream-bed-issues.patch rename to patches/server/0907-Fix-a-couple-of-upstream-bed-issues.patch diff --git a/patches/server/0909-Fix-demo-flag-not-enabling-demo-mode.patch b/patches/server/0908-Fix-demo-flag-not-enabling-demo-mode.patch similarity index 100% rename from patches/server/0909-Fix-demo-flag-not-enabling-demo-mode.patch rename to patches/server/0908-Fix-demo-flag-not-enabling-demo-mode.patch diff --git a/patches/server/0910-Add-Mob-Experience-reward-API.patch b/patches/server/0909-Add-Mob-Experience-reward-API.patch similarity index 100% rename from patches/server/0910-Add-Mob-Experience-reward-API.patch rename to patches/server/0909-Add-Mob-Experience-reward-API.patch diff --git a/patches/server/0911-Break-redstone-on-top-of-trap-doors-early.patch b/patches/server/0910-Break-redstone-on-top-of-trap-doors-early.patch similarity index 100% rename from patches/server/0911-Break-redstone-on-top-of-trap-doors-early.patch rename to patches/server/0910-Break-redstone-on-top-of-trap-doors-early.patch diff --git a/patches/server/0912-Fix-DamageCause-for-Falling-Blocks.patch b/patches/server/0911-Fix-DamageCause-for-Falling-Blocks.patch similarity index 100% rename from patches/server/0912-Fix-DamageCause-for-Falling-Blocks.patch rename to patches/server/0911-Fix-DamageCause-for-Falling-Blocks.patch diff --git a/patches/server/0913-Avoid-Lazy-Initialization-for-Enum-Fields.patch b/patches/server/0912-Avoid-Lazy-Initialization-for-Enum-Fields.patch similarity index 100% rename from patches/server/0913-Avoid-Lazy-Initialization-for-Enum-Fields.patch rename to patches/server/0912-Avoid-Lazy-Initialization-for-Enum-Fields.patch diff --git a/patches/server/0914-More-accurate-isInOpenWater-impl.patch b/patches/server/0913-More-accurate-isInOpenWater-impl.patch similarity index 100% rename from patches/server/0914-More-accurate-isInOpenWater-impl.patch rename to patches/server/0913-More-accurate-isInOpenWater-impl.patch diff --git a/patches/server/0915-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch b/patches/server/0914-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch similarity index 100% rename from patches/server/0915-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch rename to patches/server/0914-Fix-concurrenct-access-to-lookups-field-in-RegistryO.patch diff --git a/patches/server/0916-Optimise-recalcBlockCounts-for-empty-sections.patch b/patches/server/0915-Optimise-recalcBlockCounts-for-empty-sections.patch similarity index 100% rename from patches/server/0916-Optimise-recalcBlockCounts-for-empty-sections.patch rename to patches/server/0915-Optimise-recalcBlockCounts-for-empty-sections.patch diff --git a/patches/server/0917-Expand-PlayerItemMendEvent.patch b/patches/server/0916-Expand-PlayerItemMendEvent.patch similarity index 100% rename from patches/server/0917-Expand-PlayerItemMendEvent.patch rename to patches/server/0916-Expand-PlayerItemMendEvent.patch diff --git a/patches/server/0918-Refresh-ProjectileSource-for-projectiles.patch b/patches/server/0917-Refresh-ProjectileSource-for-projectiles.patch similarity index 97% rename from patches/server/0918-Refresh-ProjectileSource-for-projectiles.patch rename to patches/server/0917-Refresh-ProjectileSource-for-projectiles.patch index d8d231dc6f..c3079d4fbf 100644 --- a/patches/server/0918-Refresh-ProjectileSource-for-projectiles.patch +++ b/patches/server/0917-Refresh-ProjectileSource-for-projectiles.patch @@ -14,7 +14,7 @@ clearing the owner. Co-authored-by: Warrior <50800980+Warriorrrr@users.noreply.github.com> diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 9c686161a1248af1cc8ae20c67c7b2b8d881e07d..cedf5d153abf6d0edc2a56ca7e393ece362145d3 100644 +index b295895b2b1f8b3fbf7d97712e14b1447350a0ff..5c21f26109910c0783afd32953a035144d19ec94 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -386,6 +386,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0919-Add-transient-modifier-API.patch b/patches/server/0918-Add-transient-modifier-API.patch similarity index 100% rename from patches/server/0919-Add-transient-modifier-API.patch rename to patches/server/0918-Add-transient-modifier-API.patch diff --git a/patches/server/0920-Fix-block-place-logic.patch b/patches/server/0919-Fix-block-place-logic.patch similarity index 97% rename from patches/server/0920-Fix-block-place-logic.patch rename to patches/server/0919-Fix-block-place-logic.patch index fa5764019a..b8f54129f9 100644 --- a/patches/server/0920-Fix-block-place-logic.patch +++ b/patches/server/0919-Fix-block-place-logic.patch @@ -22,7 +22,7 @@ index daf093518f1daf598c858cfaf48357255a1fb0cf..c06e4b0683f0f125b79a4afce7daf909 if ((entityhuman == null || !entityhuman.getAbilities().instabuild) && itemstack != ItemStack.EMPTY) { // CraftBukkit itemstack.shrink(1); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index df38d95c38831c884cbfb4a15b8ba682f0b1ab51..82a1615f00b6f32c81e537f93a3d36450c5d291e 100644 +index 63cd9cd79217a9bcedb6647e6f61d9bccc28d9f0..6070711b9825612fbc485d840ed3ed80cf912493 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -493,13 +493,7 @@ public final class ItemStack { diff --git a/patches/server/0921-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch b/patches/server/0920-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch similarity index 94% rename from patches/server/0921-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch rename to patches/server/0920-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch index 27be0d4963..1b0f7c67c4 100644 --- a/patches/server/0921-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch +++ b/patches/server/0920-Fix-spigot-sound-playing-for-BlockItem-ItemStacks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix spigot sound playing for BlockItem ItemStacks diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 82a1615f00b6f32c81e537f93a3d36450c5d291e..25403f5774862ed37f3e1be05e97390d16d0b985 100644 +index 6070711b9825612fbc485d840ed3ed80cf912493..587167154b5528faea457485c0d38c0f48e8904a 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -544,7 +544,11 @@ public final class ItemStack { diff --git a/patches/server/0922-Call-BlockGrowEvent-for-missing-blocks.patch b/patches/server/0921-Call-BlockGrowEvent-for-missing-blocks.patch similarity index 100% rename from patches/server/0922-Call-BlockGrowEvent-for-missing-blocks.patch rename to patches/server/0921-Call-BlockGrowEvent-for-missing-blocks.patch diff --git a/patches/server/0923-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch b/patches/server/0922-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch similarity index 100% rename from patches/server/0923-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch rename to patches/server/0922-Don-t-enforce-icanhasbukkit-default-if-alias-block-e.patch diff --git a/patches/server/0924-fix-MapLike-spam-for-missing-key-selector.patch b/patches/server/0923-fix-MapLike-spam-for-missing-key-selector.patch similarity index 100% rename from patches/server/0924-fix-MapLike-spam-for-missing-key-selector.patch rename to patches/server/0923-fix-MapLike-spam-for-missing-key-selector.patch diff --git a/patches/server/0925-Fix-sniffer-removeExploredLocation.patch b/patches/server/0924-Fix-sniffer-removeExploredLocation.patch similarity index 100% rename from patches/server/0925-Fix-sniffer-removeExploredLocation.patch rename to patches/server/0924-Fix-sniffer-removeExploredLocation.patch diff --git a/patches/server/0926-Add-method-to-remove-all-active-potion-effects.patch b/patches/server/0925-Add-method-to-remove-all-active-potion-effects.patch similarity index 100% rename from patches/server/0926-Add-method-to-remove-all-active-potion-effects.patch rename to patches/server/0925-Add-method-to-remove-all-active-potion-effects.patch diff --git a/patches/server/0927-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch b/patches/server/0926-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch similarity index 100% rename from patches/server/0927-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch rename to patches/server/0926-Temp-Pre-init-PlayerChunkLoaderData-in-order-to-prep.patch diff --git a/patches/server/0928-Fix-incorrect-crafting-result-amount-for-fireworks.patch b/patches/server/0927-Fix-incorrect-crafting-result-amount-for-fireworks.patch similarity index 100% rename from patches/server/0928-Fix-incorrect-crafting-result-amount-for-fireworks.patch rename to patches/server/0927-Fix-incorrect-crafting-result-amount-for-fireworks.patch diff --git a/patches/server/0929-Properly-cancel-usable-items.patch b/patches/server/0928-Properly-cancel-usable-items.patch similarity index 100% rename from patches/server/0929-Properly-cancel-usable-items.patch rename to patches/server/0928-Properly-cancel-usable-items.patch diff --git a/patches/server/0930-Add-event-for-player-editing-sign.patch b/patches/server/0929-Add-event-for-player-editing-sign.patch similarity index 98% rename from patches/server/0930-Add-event-for-player-editing-sign.patch rename to patches/server/0929-Add-event-for-player-editing-sign.patch index 0e79d7c137..9eea1724fe 100644 --- a/patches/server/0930-Add-event-for-player-editing-sign.patch +++ b/patches/server/0929-Add-event-for-player-editing-sign.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Add event for player editing sign diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 25403f5774862ed37f3e1be05e97390d16d0b985..2a76c686cc1e5609db85bf21718660cf838d5899 100644 +index 587167154b5528faea457485c0d38c0f48e8904a..064b86c80e12af1e1e7f9b28484f51e9a3474e82 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -523,7 +523,7 @@ public final class ItemStack { diff --git a/patches/server/0931-Only-tick-item-frames-if-players-can-see-it.patch b/patches/server/0930-Only-tick-item-frames-if-players-can-see-it.patch similarity index 100% rename from patches/server/0931-Only-tick-item-frames-if-players-can-see-it.patch rename to patches/server/0930-Only-tick-item-frames-if-players-can-see-it.patch diff --git a/patches/server/0932-Fix-cmd-permission-levels-for-command-blocks.patch b/patches/server/0931-Fix-cmd-permission-levels-for-command-blocks.patch similarity index 100% rename from patches/server/0932-Fix-cmd-permission-levels-for-command-blocks.patch rename to patches/server/0931-Fix-cmd-permission-levels-for-command-blocks.patch diff --git a/patches/server/0933-Add-option-to-disable-block-updates.patch b/patches/server/0932-Add-option-to-disable-block-updates.patch similarity index 98% rename from patches/server/0933-Add-option-to-disable-block-updates.patch rename to patches/server/0932-Add-option-to-disable-block-updates.patch index d5021ec9ed..f3797c4109 100644 --- a/patches/server/0933-Add-option-to-disable-block-updates.patch +++ b/patches/server/0932-Add-option-to-disable-block-updates.patch @@ -108,7 +108,7 @@ index 92a24cf02f15f3ab893eb9a793770d9819e4f600..a541dc3a6e373b30fff0abf5305e7785 this.playNote(player, state, world, pos); player.awardStat(Stats.TUNE_NOTEBLOCK); diff --git a/src/main/java/net/minecraft/world/level/block/TripWireBlock.java b/src/main/java/net/minecraft/world/level/block/TripWireBlock.java -index 634a8d25fede36f848cf621bdada71eb4b32c67e..563c4c38fc99cd39e508b6c31aac5321b2e313cb 100644 +index a93a085b2e9564a2ff950fff505d856be7904863..3cb1db27dba902678a5848a1fb5e2c6ec6241e60 100644 --- a/src/main/java/net/minecraft/world/level/block/TripWireBlock.java +++ b/src/main/java/net/minecraft/world/level/block/TripWireBlock.java @@ -66,6 +66,7 @@ public class TripWireBlock extends Block { @@ -162,7 +162,7 @@ index 634a8d25fede36f848cf621bdada71eb4b32c67e..563c4c38fc99cd39e508b6c31aac5321 @Override public void entityInside(BlockState state, Level world, BlockPos pos, Entity entity) { + if (io.papermc.paper.configuration.GlobalConfiguration.get().blockUpdates.disableTripwireUpdates) return; // Paper - prevent tripwires from detecting collision - if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper + if (!new io.papermc.paper.event.entity.EntityInsideBlockEvent(entity.getBukkitEntity(), org.bukkit.craftbukkit.block.CraftBlock.at(world, pos)).callEvent()) { return; } // Paper - Add EntityInsideBlockEvent if (!world.isClientSide) { if (!(Boolean) state.getValue(TripWireBlock.POWERED)) { @@ -150,6 +157,7 @@ public class TripWireBlock extends Block { diff --git a/patches/server/0934-Call-missing-BlockDispenseEvent.patch b/patches/server/0933-Call-missing-BlockDispenseEvent.patch similarity index 98% rename from patches/server/0934-Call-missing-BlockDispenseEvent.patch rename to patches/server/0933-Call-missing-BlockDispenseEvent.patch index 87c9052b3c..d2414deee8 100644 --- a/patches/server/0934-Call-missing-BlockDispenseEvent.patch +++ b/patches/server/0933-Call-missing-BlockDispenseEvent.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Call missing BlockDispenseEvent diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index 21bba99bf1f06a95cc6834de2886b03ebeb9562f..97cff1d1c92f3c06897c7ef5da612eca0ee49b2f 100644 +index a16fb04c014d3b2f3dac0610f8be81586d41c4e9..ad9eb752a2676c6acdba601b63a5fd1611316267 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -1106,6 +1106,13 @@ public interface DispenseItemBehavior { diff --git a/patches/server/0935-Don-t-load-chunks-for-supporting-block-checks.patch b/patches/server/0934-Don-t-load-chunks-for-supporting-block-checks.patch similarity index 90% rename from patches/server/0935-Don-t-load-chunks-for-supporting-block-checks.patch rename to patches/server/0934-Don-t-load-chunks-for-supporting-block-checks.patch index 8b19f91a28..217bb79611 100644 --- a/patches/server/0935-Don-t-load-chunks-for-supporting-block-checks.patch +++ b/patches/server/0934-Don-t-load-chunks-for-supporting-block-checks.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Don't load chunks for supporting block checks diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index cedf5d153abf6d0edc2a56ca7e393ece362145d3..3cbe1cf7ed1091a74432ca6eb5745d10e590f5d3 100644 +index 5c21f26109910c0783afd32953a035144d19ec94..d08ce34e1d1ce4ac239f6b7ecf0579ab130fa976 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -1362,7 +1362,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0936-Optimize-player-lookups-for-beacons.patch b/patches/server/0935-Optimize-player-lookups-for-beacons.patch similarity index 100% rename from patches/server/0936-Optimize-player-lookups-for-beacons.patch rename to patches/server/0935-Optimize-player-lookups-for-beacons.patch diff --git a/patches/server/0937-Add-Sign-getInteractableSideFor.patch b/patches/server/0936-Add-Sign-getInteractableSideFor.patch similarity index 100% rename from patches/server/0937-Add-Sign-getInteractableSideFor.patch rename to patches/server/0936-Add-Sign-getInteractableSideFor.patch diff --git a/patches/server/0938-Array-backed-synched-entity-data.patch b/patches/server/0937-Array-backed-synched-entity-data.patch similarity index 100% rename from patches/server/0938-Array-backed-synched-entity-data.patch rename to patches/server/0937-Array-backed-synched-entity-data.patch diff --git a/patches/server/0939-fix-item-meta-for-tadpole-buckets.patch b/patches/server/0938-fix-item-meta-for-tadpole-buckets.patch similarity index 100% rename from patches/server/0939-fix-item-meta-for-tadpole-buckets.patch rename to patches/server/0938-fix-item-meta-for-tadpole-buckets.patch diff --git a/patches/server/0940-Fix-BanList-API.patch b/patches/server/0939-Fix-BanList-API.patch similarity index 100% rename from patches/server/0940-Fix-BanList-API.patch rename to patches/server/0939-Fix-BanList-API.patch diff --git a/patches/server/0941-Determine-lava-and-water-fluid-explosion-resistance-.patch b/patches/server/0940-Determine-lava-and-water-fluid-explosion-resistance-.patch similarity index 95% rename from patches/server/0941-Determine-lava-and-water-fluid-explosion-resistance-.patch rename to patches/server/0940-Determine-lava-and-water-fluid-explosion-resistance-.patch index 40890b3d28..bea2e1c86f 100644 --- a/patches/server/0941-Determine-lava-and-water-fluid-explosion-resistance-.patch +++ b/patches/server/0940-Determine-lava-and-water-fluid-explosion-resistance-.patch @@ -22,7 +22,7 @@ index 72f8b72c6436ca3b8eaeb39c7d3efe2c1462ae1d..3bb4a9a1a6249e8ba2de237f801210e7 @Override diff --git a/src/main/java/net/minecraft/world/level/material/WaterFluid.java b/src/main/java/net/minecraft/world/level/material/WaterFluid.java -index 82e85fbbd45244d02df90fa00c9046e7f51275a2..d8c26b02188a6d443c6ec73bd5fa2fa8197a5e59 100644 +index c5f9eda32f2cd172569c7b7d72f5dd3e41a34a70..cde93efaecd42b9081405638af3ba91cb5e184c9 100644 --- a/src/main/java/net/minecraft/world/level/material/WaterFluid.java +++ b/src/main/java/net/minecraft/world/level/material/WaterFluid.java @@ -109,7 +109,7 @@ public abstract class WaterFluid extends FlowingFluid { diff --git a/patches/server/0942-Fix-possible-NPE-on-painting-creation.patch b/patches/server/0941-Fix-possible-NPE-on-painting-creation.patch similarity index 100% rename from patches/server/0942-Fix-possible-NPE-on-painting-creation.patch rename to patches/server/0941-Fix-possible-NPE-on-painting-creation.patch diff --git a/patches/server/0943-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch b/patches/server/0942-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch similarity index 100% rename from patches/server/0943-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch rename to patches/server/0942-Only-set-despawnTimer-for-Wandering-Traders-spawned-.patch diff --git a/patches/server/0944-ExperienceOrb-should-call-EntitySpawnEvent.patch b/patches/server/0943-ExperienceOrb-should-call-EntitySpawnEvent.patch similarity index 100% rename from patches/server/0944-ExperienceOrb-should-call-EntitySpawnEvent.patch rename to patches/server/0943-ExperienceOrb-should-call-EntitySpawnEvent.patch diff --git a/patches/server/0945-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch b/patches/server/0944-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch similarity index 100% rename from patches/server/0945-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch rename to patches/server/0944-Make-Amethyst-throw-both-Spread-and-Grow-Events.patch diff --git a/patches/server/0946-Add-whitelist-events.patch b/patches/server/0945-Add-whitelist-events.patch similarity index 100% rename from patches/server/0946-Add-whitelist-events.patch rename to patches/server/0945-Add-whitelist-events.patch diff --git a/patches/server/0947-Implement-PlayerFailMoveEvent.patch b/patches/server/0946-Implement-PlayerFailMoveEvent.patch similarity index 100% rename from patches/server/0947-Implement-PlayerFailMoveEvent.patch rename to patches/server/0946-Implement-PlayerFailMoveEvent.patch diff --git a/patches/server/0948-Folia-scheduler-and-owned-region-API.patch b/patches/server/0947-Folia-scheduler-and-owned-region-API.patch similarity index 99% rename from patches/server/0948-Folia-scheduler-and-owned-region-API.patch rename to patches/server/0947-Folia-scheduler-and-owned-region-API.patch index 17cf66aa5e..f421a9d3be 100644 --- a/patches/server/0948-Folia-scheduler-and-owned-region-API.patch +++ b/patches/server/0947-Folia-scheduler-and-owned-region-API.patch @@ -1185,7 +1185,7 @@ index 8d8cc5463f261334d0aabf4fd31854a2af862acc..e05bfebf51d210dad08292489bae8930 this.players.remove(entityplayer); this.playersByName.remove(entityplayer.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 3cbe1cf7ed1091a74432ca6eb5745d10e590f5d3..de71cbda2f38ebce85819cfe008ae44c969dee01 100644 +index d08ce34e1d1ce4ac239f6b7ecf0579ab130fa976..c59494078ee587c8dd89e7943db85863868ae15f 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -249,11 +249,23 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0949-Only-erase-allay-memory-on-non-item-targets.patch b/patches/server/0948-Only-erase-allay-memory-on-non-item-targets.patch similarity index 100% rename from patches/server/0949-Only-erase-allay-memory-on-non-item-targets.patch rename to patches/server/0948-Only-erase-allay-memory-on-non-item-targets.patch diff --git a/patches/server/0950-API-for-updating-recipes-on-clients.patch b/patches/server/0949-API-for-updating-recipes-on-clients.patch similarity index 100% rename from patches/server/0950-API-for-updating-recipes-on-clients.patch rename to patches/server/0949-API-for-updating-recipes-on-clients.patch diff --git a/patches/server/0951-Fix-rotation-when-spawning-display-entities.patch b/patches/server/0950-Fix-rotation-when-spawning-display-entities.patch similarity index 100% rename from patches/server/0951-Fix-rotation-when-spawning-display-entities.patch rename to patches/server/0950-Fix-rotation-when-spawning-display-entities.patch diff --git a/patches/server/0952-Only-capture-actual-tree-growth.patch b/patches/server/0951-Only-capture-actual-tree-growth.patch similarity index 96% rename from patches/server/0952-Only-capture-actual-tree-growth.patch rename to patches/server/0951-Only-capture-actual-tree-growth.patch index ff212708ba..d60275516c 100644 --- a/patches/server/0952-Only-capture-actual-tree-growth.patch +++ b/patches/server/0951-Only-capture-actual-tree-growth.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Only capture actual tree growth diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index 97cff1d1c92f3c06897c7ef5da612eca0ee49b2f..6e19de21b6bb643961afc1d5eced3e0d0d98a027 100644 +index ad9eb752a2676c6acdba601b63a5fd1611316267..738f6348c14b0f6942f90d15b082e16d16c89411 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -862,6 +862,7 @@ public interface DispenseItemBehavior { @@ -17,7 +17,7 @@ index 97cff1d1c92f3c06897c7ef5da612eca0ee49b2f..6e19de21b6bb643961afc1d5eced3e0d } } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 2a76c686cc1e5609db85bf21718660cf838d5899..7f48a350a2bddf891e54e8e5349976cda0154c48 100644 +index 064b86c80e12af1e1e7f9b28484f51e9a3474e82..dc6a1a1fb78d25834f3f97c5ce3b13567c718ca0 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -422,6 +422,7 @@ public final class ItemStack { diff --git a/patches/server/0953-Use-correct-source-for-mushroom-block-spread-event.patch b/patches/server/0952-Use-correct-source-for-mushroom-block-spread-event.patch similarity index 100% rename from patches/server/0953-Use-correct-source-for-mushroom-block-spread-event.patch rename to patches/server/0952-Use-correct-source-for-mushroom-block-spread-event.patch diff --git a/patches/server/0954-Respect-randomizeData-on-more-entities-when-spawning.patch b/patches/server/0953-Respect-randomizeData-on-more-entities-when-spawning.patch similarity index 100% rename from patches/server/0954-Respect-randomizeData-on-more-entities-when-spawning.patch rename to patches/server/0953-Respect-randomizeData-on-more-entities-when-spawning.patch diff --git a/patches/server/0955-Use-correct-seed-on-api-world-load.patch b/patches/server/0954-Use-correct-seed-on-api-world-load.patch similarity index 85% rename from patches/server/0955-Use-correct-seed-on-api-world-load.patch rename to patches/server/0954-Use-correct-seed-on-api-world-load.patch index 3e622561c9..b3f9910d03 100644 --- a/patches/server/0955-Use-correct-seed-on-api-world-load.patch +++ b/patches/server/0954-Use-correct-seed-on-api-world-load.patch @@ -5,12 +5,12 @@ Subject: [PATCH] Use correct seed on api world load diff --git a/src/main/java/org/bukkit/craftbukkit/CraftServer.java b/src/main/java/org/bukkit/craftbukkit/CraftServer.java -index be176bbb17e871d7ff99e7136cbb0a5bbc25f047..d9aecf9f930b0cd4b21b7c29628ea4b49f087209 100644 +index 37cac3fcb1d7cb5ca7725bc2447ed1603e2cec20..8c4021967c22deb60eab6a6fe8110b746c642e07 100644 --- a/src/main/java/org/bukkit/craftbukkit/CraftServer.java +++ b/src/main/java/org/bukkit/craftbukkit/CraftServer.java @@ -1347,7 +1347,7 @@ public final class CraftServer implements Server { - // Paper - move down + // Paper - fix and optimise world upgrading; move down - long j = BiomeManager.obfuscateSeed(creator.seed()); + long j = BiomeManager.obfuscateSeed(worlddata.worldGenOptions().seed()); // Paper - use world seed diff --git a/patches/server/0956-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch b/patches/server/0955-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch similarity index 100% rename from patches/server/0956-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch rename to patches/server/0955-Remove-UpgradeData-neighbour-ticks-outside-of-range.patch diff --git a/patches/server/0957-Cache-map-ids-on-item-frames.patch b/patches/server/0956-Cache-map-ids-on-item-frames.patch similarity index 100% rename from patches/server/0957-Cache-map-ids-on-item-frames.patch rename to patches/server/0956-Cache-map-ids-on-item-frames.patch diff --git a/patches/server/0958-Fix-custom-statistic-criteria-creation.patch b/patches/server/0957-Fix-custom-statistic-criteria-creation.patch similarity index 100% rename from patches/server/0958-Fix-custom-statistic-criteria-creation.patch rename to patches/server/0957-Fix-custom-statistic-criteria-creation.patch diff --git a/patches/server/0959-Bandaid-fix-for-Effect.patch b/patches/server/0958-Bandaid-fix-for-Effect.patch similarity index 100% rename from patches/server/0959-Bandaid-fix-for-Effect.patch rename to patches/server/0958-Bandaid-fix-for-Effect.patch diff --git a/patches/server/0960-SculkCatalyst-bloom-API.patch b/patches/server/0959-SculkCatalyst-bloom-API.patch similarity index 100% rename from patches/server/0960-SculkCatalyst-bloom-API.patch rename to patches/server/0959-SculkCatalyst-bloom-API.patch diff --git a/patches/server/0961-API-for-an-entity-s-scoreboard-name.patch b/patches/server/0960-API-for-an-entity-s-scoreboard-name.patch similarity index 100% rename from patches/server/0961-API-for-an-entity-s-scoreboard-name.patch rename to patches/server/0960-API-for-an-entity-s-scoreboard-name.patch diff --git a/patches/server/0962-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch b/patches/server/0961-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch similarity index 100% rename from patches/server/0962-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch rename to patches/server/0961-Improve-cancelling-PreCreatureSpawnEvent-with-per-pl.patch diff --git a/patches/server/0963-Deprecate-and-replace-methods-with-old-StructureType.patch b/patches/server/0962-Deprecate-and-replace-methods-with-old-StructureType.patch similarity index 100% rename from patches/server/0963-Deprecate-and-replace-methods-with-old-StructureType.patch rename to patches/server/0962-Deprecate-and-replace-methods-with-old-StructureType.patch diff --git a/patches/server/0964-Don-t-tab-complete-namespaced-commands-if-send-names.patch b/patches/server/0963-Don-t-tab-complete-namespaced-commands-if-send-names.patch similarity index 100% rename from patches/server/0964-Don-t-tab-complete-namespaced-commands-if-send-names.patch rename to patches/server/0963-Don-t-tab-complete-namespaced-commands-if-send-names.patch diff --git a/patches/server/0965-Properly-handle-BlockBreakEvent-isDropItems.patch b/patches/server/0964-Properly-handle-BlockBreakEvent-isDropItems.patch similarity index 99% rename from patches/server/0965-Properly-handle-BlockBreakEvent-isDropItems.patch rename to patches/server/0964-Properly-handle-BlockBreakEvent-isDropItems.patch index bf620cc4a8..76d4a5c48b 100644 --- a/patches/server/0965-Properly-handle-BlockBreakEvent-isDropItems.patch +++ b/patches/server/0964-Properly-handle-BlockBreakEvent-isDropItems.patch @@ -39,7 +39,7 @@ index ed87664f513cf82c7bf8439672a656d0a57c1991..80a362fb6c073dee086bf4a46128a1fe BeehiveBlockEntity tileentitybeehive = (BeehiveBlockEntity) blockEntity; diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index 38d587c93a9ae5706633608f681f18684b7a631d..8ac67dd1b06eee08787150abdfc74a8cccec94fc 100644 +index 6c4fd56956982eee743b4dea4e8b925891dd3b6f..5379c4a8c89cbbe73c3ab741d609cecdc81d928c 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -423,10 +423,18 @@ public class Block extends BlockBehaviour implements ItemLike { diff --git a/patches/server/0966-Fire-entity-death-event-for-ender-dragon.patch b/patches/server/0965-Fire-entity-death-event-for-ender-dragon.patch similarity index 100% rename from patches/server/0966-Fire-entity-death-event-for-ender-dragon.patch rename to patches/server/0965-Fire-entity-death-event-for-ender-dragon.patch diff --git a/patches/server/0967-Configurable-entity-tracking-range-by-Y-coordinate.patch b/patches/server/0966-Configurable-entity-tracking-range-by-Y-coordinate.patch similarity index 100% rename from patches/server/0967-Configurable-entity-tracking-range-by-Y-coordinate.patch rename to patches/server/0966-Configurable-entity-tracking-range-by-Y-coordinate.patch diff --git a/patches/server/0968-Add-Listing-API-for-Player.patch b/patches/server/0967-Add-Listing-API-for-Player.patch similarity index 100% rename from patches/server/0968-Add-Listing-API-for-Player.patch rename to patches/server/0967-Add-Listing-API-for-Player.patch diff --git a/patches/server/0969-Configurable-Region-Compression-Format.patch b/patches/server/0968-Configurable-Region-Compression-Format.patch similarity index 100% rename from patches/server/0969-Configurable-Region-Compression-Format.patch rename to patches/server/0968-Configurable-Region-Compression-Format.patch diff --git a/patches/server/0970-Add-BlockFace-to-BlockDamageEvent.patch b/patches/server/0969-Add-BlockFace-to-BlockDamageEvent.patch similarity index 100% rename from patches/server/0970-Add-BlockFace-to-BlockDamageEvent.patch rename to patches/server/0969-Add-BlockFace-to-BlockDamageEvent.patch diff --git a/patches/server/0971-Fix-NPE-on-Boat-getStatus.patch b/patches/server/0970-Fix-NPE-on-Boat-getStatus.patch similarity index 100% rename from patches/server/0971-Fix-NPE-on-Boat-getStatus.patch rename to patches/server/0970-Fix-NPE-on-Boat-getStatus.patch diff --git a/patches/server/0972-Expand-Pose-API.patch b/patches/server/0971-Expand-Pose-API.patch similarity index 95% rename from patches/server/0972-Expand-Pose-API.patch rename to patches/server/0971-Expand-Pose-API.patch index 1f9cd15761..604f971107 100644 --- a/patches/server/0972-Expand-Pose-API.patch +++ b/patches/server/0971-Expand-Pose-API.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Expand Pose API diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index de71cbda2f38ebce85819cfe008ae44c969dee01..ecc50db7e63d40944423f74677ed7e916397f6b7 100644 +index c59494078ee587c8dd89e7943db85863868ae15f..f0e40ea053ca7b6749b443b2733271f71755329b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -423,6 +423,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/0973-More-DragonBattle-API.patch b/patches/server/0972-More-DragonBattle-API.patch similarity index 100% rename from patches/server/0973-More-DragonBattle-API.patch rename to patches/server/0972-More-DragonBattle-API.patch diff --git a/patches/server/0974-Deep-clone-unhandled-nbt-tags.patch b/patches/server/0973-Deep-clone-unhandled-nbt-tags.patch similarity index 100% rename from patches/server/0974-Deep-clone-unhandled-nbt-tags.patch rename to patches/server/0973-Deep-clone-unhandled-nbt-tags.patch diff --git a/patches/server/0975-Add-PlayerPickItemEvent.patch b/patches/server/0974-Add-PlayerPickItemEvent.patch similarity index 100% rename from patches/server/0975-Add-PlayerPickItemEvent.patch rename to patches/server/0974-Add-PlayerPickItemEvent.patch diff --git a/patches/server/0976-Improve-performance-of-mass-crafts.patch b/patches/server/0975-Improve-performance-of-mass-crafts.patch similarity index 100% rename from patches/server/0976-Improve-performance-of-mass-crafts.patch rename to patches/server/0975-Improve-performance-of-mass-crafts.patch diff --git a/patches/server/0977-Allow-trident-custom-damage.patch b/patches/server/0976-Allow-trident-custom-damage.patch similarity index 100% rename from patches/server/0977-Allow-trident-custom-damage.patch rename to patches/server/0976-Allow-trident-custom-damage.patch diff --git a/patches/server/0978-Expose-hand-in-BlockCanBuildEvent.patch b/patches/server/0977-Expose-hand-in-BlockCanBuildEvent.patch similarity index 100% rename from patches/server/0978-Expose-hand-in-BlockCanBuildEvent.patch rename to patches/server/0977-Expose-hand-in-BlockCanBuildEvent.patch diff --git a/patches/server/0979-Optimize-nearest-structure-border-iteration.patch b/patches/server/0978-Optimize-nearest-structure-border-iteration.patch similarity index 100% rename from patches/server/0979-Optimize-nearest-structure-border-iteration.patch rename to patches/server/0978-Optimize-nearest-structure-border-iteration.patch diff --git a/patches/server/0980-Implement-OfflinePlayer-isConnected.patch b/patches/server/0979-Implement-OfflinePlayer-isConnected.patch similarity index 100% rename from patches/server/0980-Implement-OfflinePlayer-isConnected.patch rename to patches/server/0979-Implement-OfflinePlayer-isConnected.patch diff --git a/patches/server/0981-Fix-inventory-desync.patch b/patches/server/0980-Fix-inventory-desync.patch similarity index 100% rename from patches/server/0981-Fix-inventory-desync.patch rename to patches/server/0980-Fix-inventory-desync.patch diff --git a/patches/server/0982-Add-titleOverride-to-InventoryOpenEvent.patch b/patches/server/0981-Add-titleOverride-to-InventoryOpenEvent.patch similarity index 100% rename from patches/server/0982-Add-titleOverride-to-InventoryOpenEvent.patch rename to patches/server/0981-Add-titleOverride-to-InventoryOpenEvent.patch diff --git a/patches/server/0983-Configure-sniffer-egg-hatch-time.patch b/patches/server/0982-Configure-sniffer-egg-hatch-time.patch similarity index 100% rename from patches/server/0983-Configure-sniffer-egg-hatch-time.patch rename to patches/server/0982-Configure-sniffer-egg-hatch-time.patch diff --git a/patches/server/0984-Do-crystal-portal-proximity-check-before-entity-look.patch b/patches/server/0983-Do-crystal-portal-proximity-check-before-entity-look.patch similarity index 100% rename from patches/server/0984-Do-crystal-portal-proximity-check-before-entity-look.patch rename to patches/server/0983-Do-crystal-portal-proximity-check-before-entity-look.patch diff --git a/patches/server/0985-Skip-POI-finding-if-stuck-in-vehicle.patch b/patches/server/0984-Skip-POI-finding-if-stuck-in-vehicle.patch similarity index 100% rename from patches/server/0985-Skip-POI-finding-if-stuck-in-vehicle.patch rename to patches/server/0984-Skip-POI-finding-if-stuck-in-vehicle.patch diff --git a/patches/server/0986-Add-slot-sanity-checks-in-container-clicks.patch b/patches/server/0985-Add-slot-sanity-checks-in-container-clicks.patch similarity index 100% rename from patches/server/0986-Add-slot-sanity-checks-in-container-clicks.patch rename to patches/server/0985-Add-slot-sanity-checks-in-container-clicks.patch diff --git a/patches/server/0987-Call-BlockRedstoneEvents-for-lecterns.patch b/patches/server/0986-Call-BlockRedstoneEvents-for-lecterns.patch similarity index 100% rename from patches/server/0987-Call-BlockRedstoneEvents-for-lecterns.patch rename to patches/server/0986-Call-BlockRedstoneEvents-for-lecterns.patch diff --git a/patches/server/0988-Allow-proper-checking-of-empty-item-stacks.patch b/patches/server/0987-Allow-proper-checking-of-empty-item-stacks.patch similarity index 100% rename from patches/server/0988-Allow-proper-checking-of-empty-item-stacks.patch rename to patches/server/0987-Allow-proper-checking-of-empty-item-stacks.patch diff --git a/patches/server/0989-Fix-silent-equipment-change-for-mobs.patch b/patches/server/0988-Fix-silent-equipment-change-for-mobs.patch similarity index 98% rename from patches/server/0989-Fix-silent-equipment-change-for-mobs.patch rename to patches/server/0988-Fix-silent-equipment-change-for-mobs.patch index 07f0f4cc49..bd49e4c8ce 100644 --- a/patches/server/0989-Fix-silent-equipment-change-for-mobs.patch +++ b/patches/server/0988-Fix-silent-equipment-change-for-mobs.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Fix silent equipment change for mobs diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 16d84042e2575418880897c728a99d1b8bbcdd15..c81c72bf1027fcbaac67808fbcf6e0af112176bc 100644 +index f9743f8705a7f5f3ede4c869070d5735e24348a0..1ce75edb716bd775d7a0528fae27819cfd6207ec 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -1059,13 +1059,20 @@ public abstract class Mob extends LivingEntity implements Targeting { diff --git a/patches/server/0990-Fix-spigot-s-Forced-Stats.patch b/patches/server/0989-Fix-spigot-s-Forced-Stats.patch similarity index 100% rename from patches/server/0990-Fix-spigot-s-Forced-Stats.patch rename to patches/server/0989-Fix-spigot-s-Forced-Stats.patch diff --git a/patches/server/0991-Add-missing-InventoryHolders-to-inventories.patch b/patches/server/0990-Add-missing-InventoryHolders-to-inventories.patch similarity index 100% rename from patches/server/0991-Add-missing-InventoryHolders-to-inventories.patch rename to patches/server/0990-Add-missing-InventoryHolders-to-inventories.patch diff --git a/patches/server/0992-Do-not-read-tile-entities-in-chunks-that-are-positio.patch b/patches/server/0991-Do-not-read-tile-entities-in-chunks-that-are-positio.patch similarity index 100% rename from patches/server/0992-Do-not-read-tile-entities-in-chunks-that-are-positio.patch rename to patches/server/0991-Do-not-read-tile-entities-in-chunks-that-are-positio.patch diff --git a/patches/server/0993-Actually-optimise-explosions.patch b/patches/server/0992-Actually-optimise-explosions.patch similarity index 100% rename from patches/server/0993-Actually-optimise-explosions.patch rename to patches/server/0992-Actually-optimise-explosions.patch diff --git a/patches/server/0994-Add-missing-logs-for-log-ips-config-option.patch b/patches/server/0993-Add-missing-logs-for-log-ips-config-option.patch similarity index 100% rename from patches/server/0994-Add-missing-logs-for-log-ips-config-option.patch rename to patches/server/0993-Add-missing-logs-for-log-ips-config-option.patch diff --git a/patches/server/0995-Remove-Spigot-Bug-Fix-for-MC-109346.patch b/patches/server/0994-Remove-Spigot-Bug-Fix-for-MC-109346.patch similarity index 100% rename from patches/server/0995-Remove-Spigot-Bug-Fix-for-MC-109346.patch rename to patches/server/0994-Remove-Spigot-Bug-Fix-for-MC-109346.patch diff --git a/patches/server/0996-Fix-SuspiciousStewMeta.patch b/patches/server/0995-Fix-SuspiciousStewMeta.patch similarity index 100% rename from patches/server/0996-Fix-SuspiciousStewMeta.patch rename to patches/server/0995-Fix-SuspiciousStewMeta.patch diff --git a/patches/server/0997-Optimise-chunk-tick-iteration.patch b/patches/server/0996-Optimise-chunk-tick-iteration.patch similarity index 100% rename from patches/server/0997-Optimise-chunk-tick-iteration.patch rename to patches/server/0996-Optimise-chunk-tick-iteration.patch diff --git a/patches/server/0998-Lag-compensation-ticks.patch b/patches/server/0997-Lag-compensation-ticks.patch similarity index 100% rename from patches/server/0998-Lag-compensation-ticks.patch rename to patches/server/0997-Lag-compensation-ticks.patch diff --git a/patches/server/0999-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch b/patches/server/0998-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch similarity index 100% rename from patches/server/0999-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch rename to patches/server/0998-Fix-race-condition-on-UpgradeData.BlockFixers-class-.patch diff --git a/patches/server/1000-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch b/patches/server/0999-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch similarity index 100% rename from patches/server/1000-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch rename to patches/server/0999-Fix-NPE-in-AdvancementProgress-getDateAwarded.patch diff --git a/patches/server/1001-Fix-team-sidebar-objectives-not-being-cleared.patch b/patches/server/1000-Fix-team-sidebar-objectives-not-being-cleared.patch similarity index 100% rename from patches/server/1001-Fix-team-sidebar-objectives-not-being-cleared.patch rename to patches/server/1000-Fix-team-sidebar-objectives-not-being-cleared.patch diff --git a/patches/server/1002-Optimise-nearby-player-retrieval.patch b/patches/server/1001-Optimise-nearby-player-retrieval.patch similarity index 100% rename from patches/server/1002-Optimise-nearby-player-retrieval.patch rename to patches/server/1001-Optimise-nearby-player-retrieval.patch diff --git a/patches/server/1003-Fix-missing-map-initialize-event-call.patch b/patches/server/1002-Fix-missing-map-initialize-event-call.patch similarity index 100% rename from patches/server/1003-Fix-missing-map-initialize-event-call.patch rename to patches/server/1002-Fix-missing-map-initialize-event-call.patch diff --git a/patches/server/1004-Update-entity-data-when-attaching-firework-to-entity.patch b/patches/server/1003-Update-entity-data-when-attaching-firework-to-entity.patch similarity index 100% rename from patches/server/1004-Update-entity-data-when-attaching-firework-to-entity.patch rename to patches/server/1003-Update-entity-data-when-attaching-firework-to-entity.patch diff --git a/patches/server/1005-Use-correct-variable-for-initializing-CraftLootTable.patch b/patches/server/1004-Use-correct-variable-for-initializing-CraftLootTable.patch similarity index 100% rename from patches/server/1005-Use-correct-variable-for-initializing-CraftLootTable.patch rename to patches/server/1004-Use-correct-variable-for-initializing-CraftLootTable.patch diff --git a/patches/server/1006-Make-setVelocity-method-of-Fireballs-change-the-trav.patch b/patches/server/1005-Make-setVelocity-method-of-Fireballs-change-the-trav.patch similarity index 100% rename from patches/server/1006-Make-setVelocity-method-of-Fireballs-change-the-trav.patch rename to patches/server/1005-Make-setVelocity-method-of-Fireballs-change-the-trav.patch diff --git a/patches/server/1007-Fix-UnsafeValues-loadAdvancement.patch b/patches/server/1006-Fix-UnsafeValues-loadAdvancement.patch similarity index 100% rename from patches/server/1007-Fix-UnsafeValues-loadAdvancement.patch rename to patches/server/1006-Fix-UnsafeValues-loadAdvancement.patch diff --git a/patches/server/1008-Add-player-idle-duration-API.patch b/patches/server/1007-Add-player-idle-duration-API.patch similarity index 100% rename from patches/server/1008-Add-player-idle-duration-API.patch rename to patches/server/1007-Add-player-idle-duration-API.patch diff --git a/patches/server/1009-Don-t-check-if-we-can-see-non-visible-entities.patch b/patches/server/1008-Don-t-check-if-we-can-see-non-visible-entities.patch similarity index 100% rename from patches/server/1009-Don-t-check-if-we-can-see-non-visible-entities.patch rename to patches/server/1008-Don-t-check-if-we-can-see-non-visible-entities.patch diff --git a/patches/server/1010-Fix-NPE-in-SculkBloomEvent-world-access.patch b/patches/server/1009-Fix-NPE-in-SculkBloomEvent-world-access.patch similarity index 100% rename from patches/server/1010-Fix-NPE-in-SculkBloomEvent-world-access.patch rename to patches/server/1009-Fix-NPE-in-SculkBloomEvent-world-access.patch diff --git a/patches/server/1011-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/1010-Allow-null-itemstack-for-Player-sendEquipmentChange.patch similarity index 100% rename from patches/server/1011-Allow-null-itemstack-for-Player-sendEquipmentChange.patch rename to patches/server/1010-Allow-null-itemstack-for-Player-sendEquipmentChange.patch diff --git a/patches/server/1012-Optimize-VarInts.patch b/patches/server/1011-Optimize-VarInts.patch similarity index 100% rename from patches/server/1012-Optimize-VarInts.patch rename to patches/server/1011-Optimize-VarInts.patch diff --git a/patches/server/1013-Add-API-to-get-the-collision-shape-of-a-block-before.patch b/patches/server/1012-Add-API-to-get-the-collision-shape-of-a-block-before.patch similarity index 100% rename from patches/server/1013-Add-API-to-get-the-collision-shape-of-a-block-before.patch rename to patches/server/1012-Add-API-to-get-the-collision-shape-of-a-block-before.patch diff --git a/patches/server/1014-Add-predicate-for-blocks-when-raytracing.patch b/patches/server/1013-Add-predicate-for-blocks-when-raytracing.patch similarity index 100% rename from patches/server/1014-Add-predicate-for-blocks-when-raytracing.patch rename to patches/server/1013-Add-predicate-for-blocks-when-raytracing.patch diff --git a/patches/server/1015-Broadcast-take-item-packets-with-collector-as-source.patch b/patches/server/1014-Broadcast-take-item-packets-with-collector-as-source.patch similarity index 100% rename from patches/server/1015-Broadcast-take-item-packets-with-collector-as-source.patch rename to patches/server/1014-Broadcast-take-item-packets-with-collector-as-source.patch diff --git a/patches/server/1016-Expand-LingeringPotion-API.patch b/patches/server/1015-Expand-LingeringPotion-API.patch similarity index 100% rename from patches/server/1016-Expand-LingeringPotion-API.patch rename to patches/server/1015-Expand-LingeringPotion-API.patch diff --git a/patches/server/1017-Add-MaterialTagsTest.patch b/patches/server/1016-Add-MaterialTagsTest.patch similarity index 100% rename from patches/server/1017-Add-MaterialTagsTest.patch rename to patches/server/1016-Add-MaterialTagsTest.patch diff --git a/patches/server/1018-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch b/patches/server/1017-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch similarity index 100% rename from patches/server/1018-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch rename to patches/server/1017-Fix-strikeLightningEffect-powers-lightning-rods-and-.patch diff --git a/patches/server/1019-Add-hand-to-fish-event-for-all-player-interactions.patch b/patches/server/1018-Add-hand-to-fish-event-for-all-player-interactions.patch similarity index 100% rename from patches/server/1019-Add-hand-to-fish-event-for-all-player-interactions.patch rename to patches/server/1018-Add-hand-to-fish-event-for-all-player-interactions.patch diff --git a/patches/server/1020-Fix-several-issues-with-EntityBreedEvent.patch b/patches/server/1019-Fix-several-issues-with-EntityBreedEvent.patch similarity index 100% rename from patches/server/1020-Fix-several-issues-with-EntityBreedEvent.patch rename to patches/server/1019-Fix-several-issues-with-EntityBreedEvent.patch diff --git a/patches/server/1021-Add-UUID-attribute-modifier-API.patch b/patches/server/1020-Add-UUID-attribute-modifier-API.patch similarity index 100% rename from patches/server/1021-Add-UUID-attribute-modifier-API.patch rename to patches/server/1020-Add-UUID-attribute-modifier-API.patch diff --git a/patches/server/1022-Fix-missing-event-call-for-entity-teleport-API.patch b/patches/server/1021-Fix-missing-event-call-for-entity-teleport-API.patch similarity index 100% rename from patches/server/1022-Fix-missing-event-call-for-entity-teleport-API.patch rename to patches/server/1021-Fix-missing-event-call-for-entity-teleport-API.patch diff --git a/patches/server/1023-Lazily-create-LootContext-for-criterions.patch b/patches/server/1022-Lazily-create-LootContext-for-criterions.patch similarity index 100% rename from patches/server/1023-Lazily-create-LootContext-for-criterions.patch rename to patches/server/1022-Lazily-create-LootContext-for-criterions.patch diff --git a/patches/server/1024-Don-t-fire-sync-events-during-worldgen.patch b/patches/server/1023-Don-t-fire-sync-events-during-worldgen.patch similarity index 99% rename from patches/server/1024-Don-t-fire-sync-events-during-worldgen.patch rename to patches/server/1023-Don-t-fire-sync-events-during-worldgen.patch index 0ef7a0afae..d38e55a120 100644 --- a/patches/server/1024-Don-t-fire-sync-events-during-worldgen.patch +++ b/patches/server/1023-Don-t-fire-sync-events-during-worldgen.patch @@ -31,7 +31,7 @@ index a89d3bcfe24d70d8764fe6931dafdeaf1111117e..c1560ea2be24f2f4173c2552597527df if (entity.valid) { MinecraftServer.LOGGER.error("Attempted Double World add on " + entity, new Throwable()); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ecc50db7e63d40944423f74677ed7e916397f6b7..afa4a07a94e9d74e6c91892a16ad9fe11dcb4a17 100644 +index f0e40ea053ca7b6749b443b2733271f71755329b..a70633d9585f94e673c58fc69660d984ca169561 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -713,7 +713,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/1025-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch b/patches/server/1024-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch similarity index 100% rename from patches/server/1025-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch rename to patches/server/1024-Fix-CraftMetaItem-getAttributeModifier-duplication-c.patch diff --git a/patches/server/1026-Restore-vanilla-entity-drops-behavior.patch b/patches/server/1025-Restore-vanilla-entity-drops-behavior.patch similarity index 99% rename from patches/server/1026-Restore-vanilla-entity-drops-behavior.patch rename to patches/server/1025-Restore-vanilla-entity-drops-behavior.patch index e13a962729..1e6224b701 100644 --- a/patches/server/1026-Restore-vanilla-entity-drops-behavior.patch +++ b/patches/server/1025-Restore-vanilla-entity-drops-behavior.patch @@ -50,7 +50,7 @@ index 1bdc710ae8ad0629eb715e00254f8465e69fb9d1..a43d37d074f89d645ff4a30b38a81f18 if (entityitem == null) { return null; diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index afa4a07a94e9d74e6c91892a16ad9fe11dcb4a17..30e82b94bbee5f62da3bea5cad69a2bd98fc06e0 100644 +index a70633d9585f94e673c58fc69660d984ca169561..8814ffc0f3ebe352cd72f50d9f68704e4ee0e88c 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -2703,6 +2703,25 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S diff --git a/patches/server/1027-Add-Structure-check-API.patch b/patches/server/1026-Add-Structure-check-API.patch similarity index 100% rename from patches/server/1027-Add-Structure-check-API.patch rename to patches/server/1026-Add-Structure-check-API.patch diff --git a/patches/server/1028-Dont-resend-blocks-on-interactions.patch b/patches/server/1027-Dont-resend-blocks-on-interactions.patch similarity index 99% rename from patches/server/1028-Dont-resend-blocks-on-interactions.patch rename to patches/server/1027-Dont-resend-blocks-on-interactions.patch index cbbc069594..7f4f93afcc 100644 --- a/patches/server/1028-Dont-resend-blocks-on-interactions.patch +++ b/patches/server/1027-Dont-resend-blocks-on-interactions.patch @@ -149,7 +149,7 @@ index 277555a26e8281dd1a626e572794b08cf51d00c5..aa0f09a18ea781e027ea70928b30d3e9 return false; } diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index 7f48a350a2bddf891e54e8e5349976cda0154c48..d1effd5d7b9eb2d715c9a3e16adbef2541b1ccf2 100644 +index dc6a1a1fb78d25834f3f97c5ce3b13567c718ca0..46c7c36a07169915f7409f1146e5066e8ac65c21 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -457,10 +457,12 @@ public final class ItemStack { diff --git a/patches/server/1029-Keep-previous-behavior-for-setResourcePack.patch b/patches/server/1028-Keep-previous-behavior-for-setResourcePack.patch similarity index 100% rename from patches/server/1029-Keep-previous-behavior-for-setResourcePack.patch rename to patches/server/1028-Keep-previous-behavior-for-setResourcePack.patch diff --git a/patches/server/1030-properly-read-and-store-sus-effect-duration.patch b/patches/server/1029-properly-read-and-store-sus-effect-duration.patch similarity index 100% rename from patches/server/1030-properly-read-and-store-sus-effect-duration.patch rename to patches/server/1029-properly-read-and-store-sus-effect-duration.patch diff --git a/patches/server/1031-Use-correct-max-stack-size-in-crafter.patch b/patches/server/1030-Use-correct-max-stack-size-in-crafter.patch similarity index 100% rename from patches/server/1031-Use-correct-max-stack-size-in-crafter.patch rename to patches/server/1030-Use-correct-max-stack-size-in-crafter.patch diff --git a/patches/server/1032-add-more-scoreboard-API.patch b/patches/server/1031-add-more-scoreboard-API.patch similarity index 100% rename from patches/server/1032-add-more-scoreboard-API.patch rename to patches/server/1031-add-more-scoreboard-API.patch diff --git a/patches/server/1033-Improve-Registry.patch b/patches/server/1032-Improve-Registry.patch similarity index 100% rename from patches/server/1033-Improve-Registry.patch rename to patches/server/1032-Improve-Registry.patch diff --git a/patches/server/1034-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch b/patches/server/1033-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch similarity index 100% rename from patches/server/1034-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch rename to patches/server/1033-Fix-NPE-on-null-loc-for-EntityTeleportEvent.patch diff --git a/patches/server/1035-Add-experience-points-API.patch b/patches/server/1034-Add-experience-points-API.patch similarity index 100% rename from patches/server/1035-Add-experience-points-API.patch rename to patches/server/1034-Add-experience-points-API.patch diff --git a/patches/server/1036-Add-missing-InventoryType.patch b/patches/server/1035-Add-missing-InventoryType.patch similarity index 100% rename from patches/server/1036-Add-missing-InventoryType.patch rename to patches/server/1035-Add-missing-InventoryType.patch diff --git a/patches/server/1037-Add-drops-to-shear-events.patch b/patches/server/1036-Add-drops-to-shear-events.patch similarity index 100% rename from patches/server/1037-Add-drops-to-shear-events.patch rename to patches/server/1036-Add-drops-to-shear-events.patch diff --git a/patches/server/1038-Add-PlayerShieldDisableEvent.patch b/patches/server/1037-Add-PlayerShieldDisableEvent.patch similarity index 97% rename from patches/server/1038-Add-PlayerShieldDisableEvent.patch rename to patches/server/1037-Add-PlayerShieldDisableEvent.patch index 0796bead91..bf2ec49181 100644 --- a/patches/server/1038-Add-PlayerShieldDisableEvent.patch +++ b/patches/server/1037-Add-PlayerShieldDisableEvent.patch @@ -16,7 +16,7 @@ sideeffects, meaning the disable event cannot share a handlerlist with the cooldown event diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index c81c72bf1027fcbaac67808fbcf6e0af112176bc..42e2be9286b75a1d34845f303ffc65e96fdd5416 100644 +index 1ce75edb716bd775d7a0528fae27819cfd6207ec..22d057e459c46a51079b2f8f41dff7b9d17dc371 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -1703,7 +1703,11 @@ public abstract class Mob extends LivingEntity implements Targeting { diff --git a/patches/server/1039-Add-HiddenPotionEffect-API.patch b/patches/server/1038-Add-HiddenPotionEffect-API.patch similarity index 100% rename from patches/server/1039-Add-HiddenPotionEffect-API.patch rename to patches/server/1038-Add-HiddenPotionEffect-API.patch diff --git a/patches/server/1040-Correctly-check-if-bucket-dispenses-will-succeed-for.patch b/patches/server/1039-Correctly-check-if-bucket-dispenses-will-succeed-for.patch similarity index 96% rename from patches/server/1040-Correctly-check-if-bucket-dispenses-will-succeed-for.patch rename to patches/server/1039-Correctly-check-if-bucket-dispenses-will-succeed-for.patch index e6214b88bb..c619812deb 100644 --- a/patches/server/1040-Correctly-check-if-bucket-dispenses-will-succeed-for.patch +++ b/patches/server/1039-Correctly-check-if-bucket-dispenses-will-succeed-for.patch @@ -8,7 +8,7 @@ in order to fire the BlockDispenseEvent. This patch corrects that. diff --git a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java -index 6e19de21b6bb643961afc1d5eced3e0d0d98a027..8e13c661a06aa2f7b5f558d39fb9e989a8145904 100644 +index 738f6348c14b0f6942f90d15b082e16d16c89411..1fb809486ee56efd3d0ef3fa02503ba9be459f68 100644 --- a/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java +++ b/src/main/java/net/minecraft/core/dispenser/DispenseItemBehavior.java @@ -628,7 +628,13 @@ public interface DispenseItemBehavior { diff --git a/patches/server/1041-fix-ItemMeta-removing-CustomModelData.patch b/patches/server/1040-fix-ItemMeta-removing-CustomModelData.patch similarity index 100% rename from patches/server/1041-fix-ItemMeta-removing-CustomModelData.patch rename to patches/server/1040-fix-ItemMeta-removing-CustomModelData.patch diff --git a/patches/server/1042-Validate-ResourceLocation-in-NBT-reading.patch b/patches/server/1041-Validate-ResourceLocation-in-NBT-reading.patch similarity index 98% rename from patches/server/1042-Validate-ResourceLocation-in-NBT-reading.patch rename to patches/server/1041-Validate-ResourceLocation-in-NBT-reading.patch index cf937cebbb..9f5df4c73b 100644 --- a/patches/server/1042-Validate-ResourceLocation-in-NBT-reading.patch +++ b/patches/server/1041-Validate-ResourceLocation-in-NBT-reading.patch @@ -53,7 +53,7 @@ index d362a06d0600003d40f632eac602ff552cafb9da..081937597a8984b52a1e92d4c6032c04 @Nullable diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 42e2be9286b75a1d34845f303ffc65e96fdd5416..0b5334004b9d0489e8465824870662b467ce321b 100644 +index 22d057e459c46a51079b2f8f41dff7b9d17dc371..2056ce8b168dc4f767e55923a0c4d3edc0e7c5f6 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -620,7 +620,7 @@ public abstract class Mob extends LivingEntity implements Targeting { diff --git a/patches/server/1043-Properly-handle-experience-dropping-on-block-break.patch b/patches/server/1042-Properly-handle-experience-dropping-on-block-break.patch similarity index 98% rename from patches/server/1043-Properly-handle-experience-dropping-on-block-break.patch rename to patches/server/1042-Properly-handle-experience-dropping-on-block-break.patch index eacb696b99..c8ed4a99ac 100644 --- a/patches/server/1043-Properly-handle-experience-dropping-on-block-break.patch +++ b/patches/server/1042-Properly-handle-experience-dropping-on-block-break.patch @@ -21,7 +21,7 @@ index 315dc7b198179f2f1384ab898d36d66f3c592d95..5c6f656200111cc171a4c789894732d3 boolean flag1 = this.setBlock(pos, fluid.createLegacyBlock(), 3, maxUpdateDepth); diff --git a/src/main/java/net/minecraft/world/level/block/Block.java b/src/main/java/net/minecraft/world/level/block/Block.java -index 8ac67dd1b06eee08787150abdfc74a8cccec94fc..3f2fdf73e2e520838c7b59fe994e67ab2d1a4d6b 100644 +index 5379c4a8c89cbbe73c3ab741d609cecdc81d928c..73d6f881a7d4d8ff96040d34ac502e5b0937d577 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java @@ -333,23 +333,31 @@ public class Block extends BlockBehaviour implements ItemLike { @@ -41,7 +41,7 @@ index 8ac67dd1b06eee08787150abdfc74a8cccec94fc..3f2fdf73e2e520838c7b59fe994e67ab } return true; } - // Paper end + // Paper end - Add BlockBreakBlockEvent public static void dropResources(BlockState state, Level world, BlockPos pos, @Nullable BlockEntity blockEntity, @Nullable Entity entity, ItemStack tool) { + // Paper start - Properly handle xp dropping diff --git a/patches/server/1044-Fixup-NamespacedKey-handling.patch b/patches/server/1043-Fixup-NamespacedKey-handling.patch similarity index 100% rename from patches/server/1044-Fixup-NamespacedKey-handling.patch rename to patches/server/1043-Fixup-NamespacedKey-handling.patch