From df6e24a8681c86894bd731a5c39112a91a0f5f3b Mon Sep 17 00:00:00 2001 From: BillyGalbreath Date: Fri, 18 Jun 2021 22:59:02 -0500 Subject: [PATCH] update paper --- build.gradle.kts | 2 +- gradle.properties | 2 +- .../api/0005-Allow-inventory-resizing.patch | 8 ++-- ...oc-warnings-missing-param-and-return.patch | 37 ++-------------- ...on-change-for-adventure-deprecations.patch | 4 +- patches/server/0001-Rebrand.patch | 18 ++++---- patches/server/0003-Ridables.patch | 44 +++++++++---------- .../0006-Barrels-and-enderchests-6-rows.patch | 4 +- patches/server/0009-AFK-API.patch | 14 +++--- .../0011-Configurable-server-mod-name.patch | 4 +- patches/server/0013-Lagging-threshold.patch | 4 +- ...015-PlayerSetSpawnerTypeWithEggEvent.patch | 6 +-- .../0016-EMC-MonsterEggSpawnEvent.patch | 6 +-- .../0017-Player-invulnerabilities.patch | 24 +++++----- .../0020-Alternative-Keepalive-Handling.patch | 4 +- .../server/0045-Signs-allow-color-codes.patch | 8 ++-- ...-Minecart-settings-and-WASD-controls.patch | 6 +-- ...049-Players-should-not-cram-to-death.patch | 4 +- .../0054-Add-permission-for-F3-N-debug.patch | 4 +- .../0068-Add-canSaveToDisk-to-Entity.patch | 16 +++---- ...g-mends-most-damages-equipment-first.patch | 10 ++--- ...0072-Add-5-second-tps-average-in-tps.patch | 4 +- .../server/0074-Item-entity-immunities.patch | 4 +- ...-Add-allow-water-in-end-world-option.patch | 4 +- ...leport-to-spawn-if-outside-world-bor.patch | 6 +-- .../server/0088-Phantoms-burn-in-light.patch | 4 +- .../server/0098-Short-enderman-height.patch | 6 +-- ...Stop-squids-floating-on-top-of-water.patch | 8 ++-- ...tities-can-use-portals-configuration.patch | 6 +-- 29 files changed, 120 insertions(+), 151 deletions(-) diff --git a/build.gradle.kts b/build.gradle.kts index 7346fc175..57067d752 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -1,7 +1,7 @@ plugins { java id("com.github.johnrengelman.shadow") version "7.0.0" apply false - id("io.papermc.paperweight.patcher") version "1.1.0-SNAPSHOT" + id("io.papermc.paperweight.patcher") version "1.1.3-SNAPSHOT" } repositories { diff --git a/gradle.properties b/gradle.properties index 1384c7412..720aa3cbe 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,7 +1,7 @@ group=net.pl3x.purpur version=1.17-R0.1-SNAPSHOT packageVersion=1_17_R1 -paperCommit=7be3024c75339c7a226060d9ae6f80221981c9d3 +paperCommit=7f82b50636a94e9daed26436acafa8e33f37b1f2 org.gradle.parallel=true org.gradle.jvmargs=-Xmx3G diff --git a/patches/api/0005-Allow-inventory-resizing.patch b/patches/api/0005-Allow-inventory-resizing.patch index 486bb37df..87dcae968 100644 --- a/patches/api/0005-Allow-inventory-resizing.patch +++ b/patches/api/0005-Allow-inventory-resizing.patch @@ -5,11 +5,11 @@ Subject: [PATCH] Allow inventory resizing diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index 090d22bd30f7947103771aaaf09a2398970ac337..ca660dde2010098e8c77141d05c2d4d5470adf81 100644 +index e1e7f45fd0f65d0874dd0698da436c7ac2e7951b..a31841b93964338c9325631dbfa59b3cad77b4f1 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java -@@ -132,7 +132,7 @@ public enum InventoryType { - STONECUTTER(2, "Stonecutter") +@@ -136,7 +136,7 @@ public enum InventoryType { + COMPOSTER(1, "Composter") ; - private final int size; @@ -17,7 +17,7 @@ index 090d22bd30f7947103771aaaf09a2398970ac337..ca660dde2010098e8c77141d05c2d4d5 private final String title; private final boolean isCreatable; -@@ -159,6 +159,12 @@ public enum InventoryType { +@@ -163,6 +163,12 @@ public enum InventoryType { this.defaultTitleComponent = net.kyori.adventure.text.Component.text(defaultTitle); // Paper - Adventure } diff --git a/patches/api/0032-Fix-javadoc-warnings-missing-param-and-return.patch b/patches/api/0032-Fix-javadoc-warnings-missing-param-and-return.patch index 45cc5ea0e..f68220a3d 100644 --- a/patches/api/0032-Fix-javadoc-warnings-missing-param-and-return.patch +++ b/patches/api/0032-Fix-javadoc-warnings-missing-param-and-return.patch @@ -419,37 +419,6 @@ index 5bb677ce585b856b3d3e589e29786a29619c56a7..613f00fa387dcc5af3191e550dea9d4d public class CachedSizeConcurrentLinkedQueue extends ConcurrentLinkedQueue { private final LongAdder cachedSize = new LongAdder(); -diff --git a/src/main/java/io/papermc/paper/event/player/AsyncChatEvent.java b/src/main/java/io/papermc/paper/event/player/AsyncChatEvent.java -index ee7ec316a2f814ec759e0a3e5dfe5efbee782b22..1bf28ec988aad12ede93fa508075811601c82d60 100644 ---- a/src/main/java/io/papermc/paper/event/player/AsyncChatEvent.java -+++ b/src/main/java/io/papermc/paper/event/player/AsyncChatEvent.java -@@ -53,6 +53,11 @@ public final class AsyncChatEvent extends AbstractChatEvent { - } - - /** -+ * @param async Async -+ * @param player Player -+ * @param recipients Recipients -+ * @param formatter Formatter -+ * @param message Message - * @deprecated for removal with 1.17, use {@link #AsyncChatEvent(boolean, Player, Set, ChatRenderer, Component, Component)} - */ - @Deprecated -diff --git a/src/main/java/io/papermc/paper/event/player/ChatEvent.java b/src/main/java/io/papermc/paper/event/player/ChatEvent.java -index c6bcf0dc3f77c631aa7eeb9b1e88b5bbfe445fc6..c1c6d45b10cac170e2a9b6ec7dc273d12f21163a 100644 ---- a/src/main/java/io/papermc/paper/event/player/ChatEvent.java -+++ b/src/main/java/io/papermc/paper/event/player/ChatEvent.java -@@ -50,6 +50,10 @@ public final class ChatEvent extends AbstractChatEvent { - } - - /** -+ * @param player Player -+ * @param recipients Recipients -+ * @param formatter Formatter -+ * @param message Message - * @deprecated for removal with 1.17, use {@link #ChatEvent(Player, Set, ChatRenderer, Component, Component)} - */ - @Deprecated diff --git a/src/main/java/io/papermc/paper/inventory/ItemRarity.java b/src/main/java/io/papermc/paper/inventory/ItemRarity.java index 74ef8395cc040ce488c2acaa416db20272cc2734..b974627a415cd6897b245275e953cc907a5929d8 100644 --- a/src/main/java/io/papermc/paper/inventory/ItemRarity.java @@ -633,7 +602,7 @@ index e6a83252f42da31ad38f8dc1beccc7aa2c3f54b8..f3b107210473f1707b051c15771ce3bf */ @NotNull diff --git a/src/main/java/org/bukkit/advancement/AdvancementDisplay.java b/src/main/java/org/bukkit/advancement/AdvancementDisplay.java -index bca3d112e2397b26ba6ccb6cd41e406caae27c5c..f4e076d6f3b05c9de85dcd65b95c1088a094249c 100644 +index c2e161e8e14d9949165055b6051708c048e68338..2bb3b525a3974b6ccd223b2ba272933c1617ceac 100644 --- a/src/main/java/org/bukkit/advancement/AdvancementDisplay.java +++ b/src/main/java/org/bukkit/advancement/AdvancementDisplay.java @@ -2,6 +2,9 @@ package org.bukkit.advancement; @@ -1262,10 +1231,10 @@ index 21ad8888c0e403bfc63518502577d651c02dda05..295cbe558ace7b55c80fc84256808d2f /** * Unknown reason diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index ca660dde2010098e8c77141d05c2d4d5470adf81..129eac25da4f27489038fb15ab1aeecb172b60cc 100644 +index a31841b93964338c9325631dbfa59b3cad77b4f1..09f0fa8f2aac16b2c2d848089e228af2d09f9090 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java -@@ -185,6 +185,9 @@ public enum InventoryType { +@@ -189,6 +189,9 @@ public enum InventoryType { return isCreatable; } diff --git a/patches/api/0038-Conflict-on-change-for-adventure-deprecations.patch b/patches/api/0038-Conflict-on-change-for-adventure-deprecations.patch index 438d3bc7f..06092aab7 100644 --- a/patches/api/0038-Conflict-on-change-for-adventure-deprecations.patch +++ b/patches/api/0038-Conflict-on-change-for-adventure-deprecations.patch @@ -357,10 +357,10 @@ index 3d45d2e41aad6992b40a22030f2a63baeec78757..3cecfe9f7c253ab474829c612cca2dc0 return this.deathMessage != null ? this.deathMessage : (this.adventure$deathMessage != null ? getDeathMessageString(this.adventure$deathMessage) : null); // Paper } diff --git a/src/main/java/org/bukkit/event/inventory/InventoryType.java b/src/main/java/org/bukkit/event/inventory/InventoryType.java -index 129eac25da4f27489038fb15ab1aeecb172b60cc..670aca11bbaa2d155cd9d2105ac94c9df71d7d8d 100644 +index 09f0fa8f2aac16b2c2d848089e228af2d09f9090..e10ff4ab0c649289af9eafe83ef9268ee6408e82 100644 --- a/src/main/java/org/bukkit/event/inventory/InventoryType.java +++ b/src/main/java/org/bukkit/event/inventory/InventoryType.java -@@ -170,7 +170,7 @@ public enum InventoryType { +@@ -174,7 +174,7 @@ public enum InventoryType { } @NotNull diff --git a/patches/server/0001-Rebrand.patch b/patches/server/0001-Rebrand.patch index 2e1b43a17..aa14a6f43 100644 --- a/patches/server/0001-Rebrand.patch +++ b/patches/server/0001-Rebrand.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Rebrand diff --git a/build.gradle.kts b/build.gradle.kts -index f111042223f0d7974785c37245bb60b75388163e..5cb12256904a72713a2e21b9b62e820d29191cd4 100644 +index 03521590dfcbb09416097e793fae5951c1ae3cc0..ab116b119193143757ab3f27f96e9f9ce4ba8165 100644 --- a/build.gradle.kts +++ b/build.gradle.kts -@@ -19,8 +19,8 @@ repositories { +@@ -18,8 +18,8 @@ repositories { } dependencies { @@ -19,7 +19,7 @@ index f111042223f0d7974785c37245bb60b75388163e..5cb12256904a72713a2e21b9b62e820d // Paper start implementation("org.jline:jline-terminal-jansi:3.12.1") implementation("net.minecrell:terminalconsoleappender:1.2.0") -@@ -51,6 +51,7 @@ dependencies { +@@ -49,6 +49,7 @@ dependencies { implementation("co.aikar:cleaner:1.0-SNAPSHOT") // Paper implementation("io.netty:netty-all:4.1.65.Final") // Paper @@ -27,8 +27,8 @@ index f111042223f0d7974785c37245bb60b75388163e..5cb12256904a72713a2e21b9b62e820d testImplementation("io.github.classgraph:classgraph:4.8.47") // Paper - mob goal test testImplementation("junit:junit:4.13.1") -@@ -65,7 +66,7 @@ tasks.jar { - attributes(mapOf( +@@ -64,7 +65,7 @@ tasks.jar { + attributes( "Main-Class" to "org.bukkit.craftbukkit.Main", "Implementation-Title" to "CraftBukkit", - "Implementation-Version" to "git-Paper-\"$gitHash\"", @@ -36,7 +36,7 @@ index f111042223f0d7974785c37245bb60b75388163e..5cb12256904a72713a2e21b9b62e820d "Implementation-Vendor" to SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'").format(Date()), // Paper "Specification-Title" to "Bukkit", "Specification-Version" to project.version, -@@ -119,7 +120,7 @@ tasks.test { +@@ -120,7 +121,7 @@ tasks.test { fun TaskContainer.registerRunTask( name: String, block: JavaExec.() -> Unit ): TaskProvider = register(name) { @@ -72,10 +72,10 @@ index a1d5c0f8fe2adb2ee56f3217e089211ec7c61eb0..43a88bc58716eef4040584944f52893c if (outputStream != null) { try { diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 1f29c92776aea8dbba52d4cb197addce5b3e4d5e..f40e6ae2a1a3c9c76071a60a3bdfb4762ab68deb 100644 +index 3bf39c2d2aa3fc4fd0815dacea57e4899ec0da0e..736a7baab17b26319f2aa39ad059e2f5a7ee16cf 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1634,7 +1634,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop 0; // Paper worldserver.hasEntityMoveEvent = io.papermc.paper.event.entity.EntityMoveEvent.getHandlerList().getRegisteredListeners().length > 0; // Paper @@ -34,7 +34,7 @@ index f40e6ae2a1a3c9c76071a60a3bdfb4762ab68deb..2ff3c3f64a61e152262e82a1c33a474b this.profiler.push(() -> { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index fe6d8b93f5685b611f1f2fe6ac28a0b718e198cc..900b30c9ba0d7b9e0b19c23c1eb5b75dbf2d7141 100644 +index ef651213d29a8c9b60e39b98ad52f5b7b54f3c22..ce49e2a5ac80280ae03579d72a436e836a03cf8e 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -201,6 +201,7 @@ public class ServerLevel extends net.minecraft.world.level.Level implements Worl @@ -46,10 +46,10 @@ index fe6d8b93f5685b611f1f2fe6ac28a0b718e198cc..900b30c9ba0d7b9e0b19c23c1eb5b75d return new Throwable(entity + " Added to world at " + new java.util.Date()); } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5d3269c6912a23aef26d5b155c04c2cd567cefba..35390d245330b7e69daa2a386c6913a719c04a32 100644 +index 181ab56448796a617f30f1b9e0fec8917b5d8e07..952b6103fd417251e8a030bb574f79e69cfbbe10 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -662,6 +662,15 @@ public class ServerPlayer extends Player { +@@ -663,6 +663,15 @@ public class ServerPlayer extends Player { } this.advancements.flushDirty(this); @@ -65,7 +65,7 @@ index 5d3269c6912a23aef26d5b155c04c2cd567cefba..35390d245330b7e69daa2a386c6913a7 } public void doTick() { -@@ -2366,4 +2375,6 @@ public class ServerPlayer extends Player { +@@ -2367,4 +2376,6 @@ public class ServerPlayer extends Player { return (CraftPlayer) super.getBukkitEntity(); } // CraftBukkit end @@ -73,10 +73,10 @@ index 5d3269c6912a23aef26d5b155c04c2cd567cefba..35390d245330b7e69daa2a386c6913a7 + } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 40d0dac02bb1922483d68f3cdd09a228f66d09f6..8e585ea6a070b2339cf396d70224a0d3791abe1f 100644 +index 7d2ac8aa97805e8b022d3982b1332c5055fc8b90..b98263dc5dcba1a5a8518c2f0acd2c9d3a8b6087 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2350,6 +2350,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -2349,6 +2349,8 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser ServerGamePacketListenerImpl.this.cserver.getPluginManager().callEvent(event); @@ -86,7 +86,7 @@ index 40d0dac02bb1922483d68f3cdd09a228f66d09f6..8e585ea6a070b2339cf396d70224a0d3 if ((entity instanceof AbstractFish && origItem != null && origItem.asItem() == Items.WATER_BUCKET) && (event.isCancelled() || ServerGamePacketListenerImpl.this.player.getInventory().getSelected() == null || ServerGamePacketListenerImpl.this.player.getInventory().getSelected().getItem() != origItem)) { ServerGamePacketListenerImpl.this.send(new ClientboundAddMobPacket((AbstractFish) entity)); diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index cfab75b70b4cf4c95f3a7971c78f6dc42c0d23d0..5e9b67f0a5a8052b3f769b4a66b5c230401bd57f 100644 +index af90013d48e2dd827e045e2fc0f7f5be0dbaa33f..96ca29b6a7ddd84f45d55c8c8745045b4520078d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -230,7 +230,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n @@ -107,7 +107,7 @@ index cfab75b70b4cf4c95f3a7971c78f6dc42c0d23d0..5e9b67f0a5a8052b3f769b4a66b5c230 private float eyeHeight; public boolean isInPowderSnow; public boolean wasInPowderSnow; -@@ -2408,6 +2408,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -2407,6 +2407,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n this.passengers = ImmutableList.copyOf(list); } @@ -120,7 +120,7 @@ index cfab75b70b4cf4c95f3a7971c78f6dc42c0d23d0..5e9b67f0a5a8052b3f769b4a66b5c230 } return true; // CraftBukkit } -@@ -2448,6 +2454,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -2447,6 +2453,14 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n return false; } // Spigot end @@ -135,7 +135,7 @@ index cfab75b70b4cf4c95f3a7971c78f6dc42c0d23d0..5e9b67f0a5a8052b3f769b4a66b5c230 if (this.passengers.size() == 1 && this.passengers.get(0) == entity) { this.passengers = ImmutableList.of(); } else { -@@ -3373,6 +3387,29 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -3371,6 +3385,29 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n return SlotAccess.NULL; } @@ -165,7 +165,7 @@ index cfab75b70b4cf4c95f3a7971c78f6dc42c0d23d0..5e9b67f0a5a8052b3f769b4a66b5c230 @Override public void sendMessage(Component message, UUID sender) {} -@@ -3984,4 +4021,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -3982,4 +4019,41 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n return ((ServerChunkCache) level.getChunkSource()).isPositionTicking(this); } // Paper end @@ -231,7 +231,7 @@ index d28cecd9bea7c82fa675d333810e2e63a91c615e..8f8bc29d847801938e251904b8334b4b protected ParticleOptions getInkParticle() { return ParticleTypes.GLOW_SQUID_INK; diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index 58b36ed797476f3cec78529e09e913ebb791c5e3..e733c1e8f0b180bf1508e4f004124d44407f6c07 100644 +index 57c448ee93df76fc2a17c75fafc78408d720ced3..e918f7cc7fdfdeb1b7b69488eadf69f0d4a3cb05 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -220,9 +220,9 @@ public abstract class LivingEntity extends Entity { @@ -292,7 +292,7 @@ index 58b36ed797476f3cec78529e09e913ebb791c5e3..e733c1e8f0b180bf1508e4f004124d44 // Paper end if (!this.level.isClientSide && this.isSensitiveToWater() && this.isInWaterRainOrBubble()) { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 6c603926c0d582b16268fd0888bc685442e0c8cd..4c0a0ac37f59f636947f21acfd3c3b5f0d8e8b0c 100644 +index c4c5c35e37b793f3b74349ff03c0829f4913b91c..75931cce0f430975fc54216f20e235833a74a72c 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -139,6 +139,8 @@ public abstract class Mob extends LivingEntity { @@ -3022,7 +3022,7 @@ index ee2febe92309f277f1607c0ea024d6cd291490bc..5f8233c1be6f92bcf58c5c5db360b266 return Guardian.createAttributes().add(Attributes.MOVEMENT_SPEED, 0.30000001192092896D).add(Attributes.ATTACK_DAMAGE, 8.0D).add(Attributes.MAX_HEALTH, 80.0D); } diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index a39f4a1585ba888d27588a86130f6dae24f5a71b..a9c247d9c1f1eddd8ef884c0c8d80dee3bb4bf68 100644 +index e1e220b3e4967590a2a77370e2a6ab919ad50eaa..f68c6ec513437b83bf8bc4a5f8b5cdadbc418436 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java @@ -83,9 +83,22 @@ public class EnderMan extends Monster implements NeutralMob { @@ -3448,7 +3448,7 @@ index 130205f0d101debaa74c1172fb80863e6fa0ebe1..7d39f25734f2c52b11931e141524acd2 @Override diff --git a/src/main/java/net/minecraft/world/entity/monster/Phantom.java b/src/main/java/net/minecraft/world/entity/monster/Phantom.java -index 1ffe939bb66358391d92d3e5378865b1cc8690fd..d35e1338c0c11b89e093f8748341ce6980071485 100644 +index 67f2d2f45138578646920ccae5b455a842a7b9e8..60bfeb0e5a667899a02fb59c13d637d87416e483 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Phantom.java +++ b/src/main/java/net/minecraft/world/entity/monster/Phantom.java @@ -61,6 +61,59 @@ public class Phantom extends FlyingMob implements Enemy { @@ -4113,7 +4113,7 @@ index 51082fb81477b96c778796e8daf288b366cecf22..a3b1332a92824255b807adc9a5a1d295 this.targetSelector.addGoal(2, new NearestAttackableTargetGoal<>(this, Player.class, true)); this.targetSelector.addGoal(3, new NearestAttackableTargetGoal<>(this, AbstractVillager.class, true)); diff --git a/src/main/java/net/minecraft/world/entity/monster/Witch.java b/src/main/java/net/minecraft/world/entity/monster/Witch.java -index ee32917c9852a97c27779ea969131e6c28bbb3ac..439fcfc49a8aac698fa0225d846b885c8df7a475 100644 +index 8c3e8c12d7405ad388342e304430834a5fad12a9..e70fb661c62add74cdbe9fc9ef1e3143e96333b2 100644 --- a/src/main/java/net/minecraft/world/entity/monster/Witch.java +++ b/src/main/java/net/minecraft/world/entity/monster/Witch.java @@ -60,6 +60,18 @@ public class Witch extends Raider implements RangedAttackMob { @@ -4411,7 +4411,7 @@ index af579b2b6f6e18da70e67ce74431a57d9a1236dd..d01a8fe6dd5c84ea5b7370a90c0d5713 this.level.getProfiler().pop(); PiglinBruteAi.updateActivity(this); diff --git a/src/main/java/net/minecraft/world/entity/npc/Villager.java b/src/main/java/net/minecraft/world/entity/npc/Villager.java -index 27530389690ec329bd92a722e4faf87e367bce91..8128345a1f869af945f693281b371aaf843b0552 100644 +index 43bb055f0f9ecb82c25e0f47258f45ce4182a75d..277fac3c160283454da18e003900b5193f82b23a 100644 --- a/src/main/java/net/minecraft/world/entity/npc/Villager.java +++ b/src/main/java/net/minecraft/world/entity/npc/Villager.java @@ -155,6 +155,23 @@ public class Villager extends AbstractVillager implements ReputationEventHandler @@ -5739,7 +5739,7 @@ index 0000000000000000000000000000000000000000..8eefb7b7eb33aecf48ac206d3f0139e0 + } +} diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java -index 281d9ff8c7741d44131743271046af07d34ba21d..7eb3d56ecc776c96481930a4e78e1f36076f68bb 100644 +index 8246ad7ebecdfc0b7519fe4412fef7b07407e850..6b85ba7d9bad9f648b4a6cb5a3938509b3e73cca 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftEntity.java @@ -1207,4 +1207,27 @@ public abstract class CraftEntity implements org.bukkit.entity.Entity { @@ -5771,7 +5771,7 @@ index 281d9ff8c7741d44131743271046af07d34ba21d..7eb3d56ecc776c96481930a4e78e1f36 + // Purpur end } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index 71571868090062f02579d50ae483d9f367de5016..7dfa256c43e9757e1467af1506377859b46154ea 100644 +index a59a449c0a7b76527f009031aee2d11d6b43cadf..d055b5548848c87d9ce8372b6c64df8d081eb779 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -537,6 +537,15 @@ public class CraftEventFactory { diff --git a/patches/server/0006-Barrels-and-enderchests-6-rows.patch b/patches/server/0006-Barrels-and-enderchests-6-rows.patch index 7785b5203..77c271687 100644 --- a/patches/server/0006-Barrels-and-enderchests-6-rows.patch +++ b/patches/server/0006-Barrels-and-enderchests-6-rows.patch @@ -188,10 +188,10 @@ index 99d52dc4a3619200e8eb864e8ed8f4a6e469b443..613a0bcb4268f5d3256a871d47ae079b case DISPENSER: case DROPPER: diff --git a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java -index 01701e50dd0ce1c46dcc27ea7da8f51d45899a8c..6aa3838ad534dc49b0f591719e395598ad1183bc 100644 +index 396a4ae3d5a829eda78ef98561333aea300aa722..91478d614a56d1ac371187515d4c92b2a373b65c 100644 --- a/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java +++ b/src/main/java/org/bukkit/craftbukkit/inventory/CraftInventory.java -@@ -80,7 +80,7 @@ public class CraftInventory implements Inventory { +@@ -81,7 +81,7 @@ public class CraftInventory implements Inventory { @Override public void setContents(ItemStack[] items) { diff --git a/patches/server/0009-AFK-API.patch b/patches/server/0009-AFK-API.patch index 11a0cd6dc..cba7d09b6 100644 --- a/patches/server/0009-AFK-API.patch +++ b/patches/server/0009-AFK-API.patch @@ -5,10 +5,10 @@ Subject: [PATCH] AFK API diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 35390d245330b7e69daa2a386c6913a719c04a32..686bbbde55a61e4f78f4d0991b06b581b34ddec5 100644 +index 952b6103fd417251e8a030bb574f79e69cfbbe10..f6289be625d61ac3e33118959e8a1bc3defcda42 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1914,8 +1914,54 @@ public class ServerPlayer extends Player { +@@ -1915,8 +1915,54 @@ public class ServerPlayer extends Player { public void resetLastActionTime() { this.lastActionTime = Util.getMillis(); @@ -64,7 +64,7 @@ index 35390d245330b7e69daa2a386c6913a719c04a32..686bbbde55a61e4f78f4d0991b06b581 return this.stats; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8e585ea6a070b2339cf396d70224a0d3791abe1f..3792cb44df997e72d902f26fe09590b1c5c7e814 100644 +index b98263dc5dcba1a5a8518c2f0acd2c9d3a8b6087..f29f05ab4bace2a6db23ef6b9d4c9db285a082e0 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -391,6 +391,12 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -160,10 +160,10 @@ index c458710a2af40848d617149d97f51e7ae1165637..721767812c765ac70c66f5445950c391 public boolean processClick(InteractionHand hand) { Entity vehicle = getRootVehicle(); diff --git a/src/main/java/net/minecraft/world/level/EntityGetter.java b/src/main/java/net/minecraft/world/level/EntityGetter.java -index b0cafe6e0bdb3f297c13f310fdbe9e3158a6715d..2d953133a7e15699952ec0f8a7dc00c91ed32e03 100644 +index 325e244c46ec208a2e7e18d71ccbbfcc25fc1bce..3645ebf52ad1461937ce6cc0cf38a92176627227 100644 --- a/src/main/java/net/minecraft/world/level/EntityGetter.java +++ b/src/main/java/net/minecraft/world/level/EntityGetter.java -@@ -146,7 +146,7 @@ public interface EntityGetter { +@@ -145,7 +145,7 @@ public interface EntityGetter { default boolean hasNearbyAlivePlayer(double x, double y, double z, double range) { for(Player player : this.players()) { @@ -214,10 +214,10 @@ index d9ecedda8d312f512c5c258f06932ad4b2a2c3e5..b8cc0ac7790379103c1849c5dcad4bec public boolean untamedTamablesAreRidable = true; public boolean useNightVisionWhenRiding = false; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3f0096423ba5db02c1007a8547d8a0497597055f..ae1c605dc3e35117e754884581364cf932670420 100644 +index 76e2ae09855e0efaaa0856d2f49e4968adbccbdc..38b7bc0399be51eec4c00e5ce1240d7468878aea 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2471,4 +2471,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2473,4 +2473,21 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return this.spigot; } // Spigot end diff --git a/patches/server/0011-Configurable-server-mod-name.patch b/patches/server/0011-Configurable-server-mod-name.patch index 577c69c1d..b7838dd7b 100644 --- a/patches/server/0011-Configurable-server-mod-name.patch +++ b/patches/server/0011-Configurable-server-mod-name.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Configurable server mod name diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 2ff3c3f64a61e152262e82a1c33a474bbe4e9c5c..247b4c599018cb42cd4b2da5d8b4d732f2e884b0 100644 +index ae939c81523a3982fc91fe4793ed0553503c501e..2034eaffd38d8ec1211e027f4fa349314f3c5fb5 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1635,7 +1635,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop implements EntityTypeTest { +@@ -286,6 +286,16 @@ public class EntityType implements EntityTypeTest { return (EntityType) Registry.register((Registry) Registry.ENTITY_TYPE, id, (Object) type.build(id)); } @@ -25,7 +25,7 @@ index 536d979139326191d1199e93e9fc885164766aec..81ec8304da9006ea8450bde441bdb208 public static ResourceLocation getKey(EntityType type) { return Registry.ENTITY_TYPE.getKey(type); } -@@ -452,6 +462,16 @@ public class EntityType implements EntityTypeTest { +@@ -450,6 +460,16 @@ public class EntityType implements EntityTypeTest { return this.category; } diff --git a/patches/server/0016-EMC-MonsterEggSpawnEvent.patch b/patches/server/0016-EMC-MonsterEggSpawnEvent.patch index bbbbd1379..563fe48f0 100644 --- a/patches/server/0016-EMC-MonsterEggSpawnEvent.patch +++ b/patches/server/0016-EMC-MonsterEggSpawnEvent.patch @@ -5,10 +5,10 @@ Subject: [PATCH] EMC - MonsterEggSpawnEvent diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 81ec8304da9006ea8450bde441bdb20898f8ca5c..63e3105daeb697ff76cca15d55d14b14ca1523f6 100644 +index 01f27e4aee9e257c632e9e163e495443cca4c822..500d4494db3c9663e02f6ce02c2104a9b08d6dc4 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -333,13 +333,20 @@ public class EntityType implements EntityTypeTest { +@@ -331,13 +331,20 @@ public class EntityType implements EntityTypeTest { @Nullable public Entity spawn(ServerLevel world, @Nullable ItemStack stack, @Nullable Player player, BlockPos pos, MobSpawnType spawnReason, boolean alignPosition, boolean invertY) { @@ -31,7 +31,7 @@ index 81ec8304da9006ea8450bde441bdb20898f8ca5c..63e3105daeb697ff76cca15d55d14b14 } @Nullable -@@ -364,9 +371,29 @@ public class EntityType implements EntityTypeTest { +@@ -362,9 +369,29 @@ public class EntityType implements EntityTypeTest { } } // Paper end diff --git a/patches/server/0017-Player-invulnerabilities.patch b/patches/server/0017-Player-invulnerabilities.patch index 4a293b73f..862ef5687 100644 --- a/patches/server/0017-Player-invulnerabilities.patch +++ b/patches/server/0017-Player-invulnerabilities.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Player invulnerabilities diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 686bbbde55a61e4f78f4d0991b06b581b34ddec5..4ab52c4bca5c938ef8667acfb41bcceec1c5a89b 100644 +index f6289be625d61ac3e33118959e8a1bc3defcda42..660649624281928ab4eb79f09a90e2f9facf36d6 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -332,6 +332,7 @@ public class ServerPlayer extends Player { +@@ -333,6 +333,7 @@ public class ServerPlayer extends Player { this.bukkitPickUpLoot = true; this.maxHealthCache = this.getMaxHealth(); this.cachedSingleMobDistanceMap = new com.destroystokyo.paper.util.PooledHashSets.PooledObjectLinkedOpenHashSet<>(this); // Paper @@ -16,7 +16,7 @@ index 686bbbde55a61e4f78f4d0991b06b581b34ddec5..4ab52c4bca5c938ef8667acfb41bccee } // Paper start - Chunk priority public BlockPos getPointInFront(double inFront) { -@@ -973,6 +974,12 @@ public class ServerPlayer extends Player { +@@ -974,6 +975,12 @@ public class ServerPlayer extends Player { } @@ -29,7 +29,7 @@ index 686bbbde55a61e4f78f4d0991b06b581b34ddec5..4ab52c4bca5c938ef8667acfb41bccee @Override public boolean hurt(DamageSource source, float amount) { if (this.isInvulnerableTo(source)) { -@@ -980,7 +987,7 @@ public class ServerPlayer extends Player { +@@ -981,7 +988,7 @@ public class ServerPlayer extends Player { } else { boolean flag = this.server.isDedicatedServer() && this.isPvpAllowed() && "fall".equals(source.msgId); @@ -38,7 +38,7 @@ index 686bbbde55a61e4f78f4d0991b06b581b34ddec5..4ab52c4bca5c938ef8667acfb41bccee return false; } else { if (source instanceof EntityDamageSource) { -@@ -1155,6 +1162,7 @@ public class ServerPlayer extends Player { +@@ -1156,6 +1163,7 @@ public class ServerPlayer extends Player { } // Paper end @@ -46,7 +46,7 @@ index 686bbbde55a61e4f78f4d0991b06b581b34ddec5..4ab52c4bca5c938ef8667acfb41bccee return this; } } -@@ -2373,8 +2381,16 @@ public class ServerPlayer extends Player { +@@ -2374,8 +2382,16 @@ public class ServerPlayer extends Player { @Override public boolean isImmobile() { @@ -65,10 +65,10 @@ index 686bbbde55a61e4f78f4d0991b06b581b34ddec5..4ab52c4bca5c938ef8667acfb41bccee @Override public Scoreboard getScoreboard() { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 3792cb44df997e72d902f26fe09590b1c5c7e814..963e433db7c237119355f645ee3d8aa674c77259 100644 +index f29f05ab4bace2a6db23ef6b9d4c9db285a082e0..5f54905841956b691bf83a4d980c24e0969e9456 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -1861,6 +1861,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -1860,6 +1860,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } // Paper start PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packet.action.ordinal()]; @@ -77,10 +77,10 @@ index 3792cb44df997e72d902f26fe09590b1c5c7e814..963e433db7c237119355f645ee3d8aa6 this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit // 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 d6ecf7671663957b27ee0cadbfc57ce3a7be161c..bcff95d97549f56f542644f8348a84088ab56846 100644 +index d76d8d8db7921d16f87dd162ccd115e351cde106..fb29b0cb962db93489ff4268c72e7c67cd736867 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -983,6 +983,8 @@ public abstract class PlayerList { +@@ -984,6 +984,8 @@ public abstract class PlayerList { } // Paper end @@ -108,10 +108,10 @@ index b8cc0ac7790379103c1849c5dcad4bec8669463f..f707437272ff862ed1e0a4e53b17eb86 public boolean untamedTamablesAreRidable = true; public boolean useNightVisionWhenRiding = false; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ae1c605dc3e35117e754884581364cf932670420..830a17bb29123b7ce84ebd6b44a4ebc28ea94954 100644 +index 38b7bc0399be51eec4c00e5ce1240d7468878aea..676d98f183d798f1ea894cd78539f9034edb3659 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2487,5 +2487,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2489,5 +2489,20 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void resetIdleTimer() { getHandle().resetLastActionTime(); } diff --git a/patches/server/0020-Alternative-Keepalive-Handling.patch b/patches/server/0020-Alternative-Keepalive-Handling.patch index 9f0efc704..bf254f46d 100644 --- a/patches/server/0020-Alternative-Keepalive-Handling.patch +++ b/patches/server/0020-Alternative-Keepalive-Handling.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Alternative Keepalive Handling diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 963e433db7c237119355f645ee3d8aa674c77259..8e53ee171250d2e44c18d9dac379bc8db824b97b 100644 +index 5f54905841956b691bf83a4d980c24e0969e9456..5b5993c4687f4414c0b7e9bbd9a7d2fa4c66e568 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -229,6 +229,7 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @@ -38,7 +38,7 @@ index 963e433db7c237119355f645ee3d8aa674c77259..8e53ee171250d2e44c18d9dac379bc8d if (this.keepAlivePending) { if (!this.processedDisconnect && elapsedTime >= KEEPALIVE_LIMIT) { // check keepalive limit, don't fire if already disconnected ServerGamePacketListenerImpl.LOGGER.warn("{} was kicked due to keepalive timeout!", this.player.getScoreboardName()); // more info -@@ -3011,6 +3027,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3010,6 +3026,16 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser @Override public void handleKeepAlive(ServerboundKeepAlivePacket packet) { diff --git a/patches/server/0045-Signs-allow-color-codes.patch b/patches/server/0045-Signs-allow-color-codes.patch index cc9cae880..f60123c46 100644 --- a/patches/server/0045-Signs-allow-color-codes.patch +++ b/patches/server/0045-Signs-allow-color-codes.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Signs allow color codes diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 4ab52c4bca5c938ef8667acfb41bcceec1c5a89b..e62e97066015943a61eb658890f23d293fb58a89 100644 +index 660649624281928ab4eb79f09a90e2f9facf36d6..fc4d66897fe0720d8dfbe7ac289ec9e1fe71d655 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1458,6 +1458,7 @@ public class ServerPlayer extends Player { +@@ -1459,6 +1459,7 @@ public class ServerPlayer extends Player { @Override public void openTextEdit(SignBlockEntity sign) { @@ -17,10 +17,10 @@ index 4ab52c4bca5c938ef8667acfb41bcceec1c5a89b..e62e97066015943a61eb658890f23d29 this.connection.send(new ClientboundBlockUpdatePacket(this.level, sign.getBlockPos())); this.connection.send(new ClientboundOpenSignEditorPacket(sign.getBlockPos())); diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8e53ee171250d2e44c18d9dac379bc8db824b97b..b0874703991524cfaff7c62936d9311053a1d63b 100644 +index 5b5993c4687f4414c0b7e9bbd9a7d2fa4c66e568..88233e6bb9d3c690d12aa3adf7b5a4ea33ad1db2 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -3002,9 +3002,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser +@@ -3001,9 +3001,21 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Ser } // Paper end if (this.player.isTextFilteringEnabled()) { diff --git a/patches/server/0047-Minecart-settings-and-WASD-controls.patch b/patches/server/0047-Minecart-settings-and-WASD-controls.patch index 446006273..247d0d6a4 100644 --- a/patches/server/0047-Minecart-settings-and-WASD-controls.patch +++ b/patches/server/0047-Minecart-settings-and-WASD-controls.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Minecart settings and WASD controls diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e62e97066015943a61eb658890f23d293fb58a89..bf0b2fd772c162110ba103f16b3658a9d9ee6172 100644 +index fc4d66897fe0720d8dfbe7ac289ec9e1fe71d655..9282dab04e45075d34dd944436bc2fb5b286b0a4 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -985,6 +985,7 @@ public class ServerPlayer extends Player { +@@ -986,6 +986,7 @@ public class ServerPlayer extends Player { if (this.isInvulnerableTo(source)) { return false; } else { @@ -135,7 +135,7 @@ index 9ea3837acc315e5c57f28c63c356efd633f1e6cf..e8b76b67f972c2f44e7611434246a822 } } diff --git a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java -index 933448659367b5f0b323bd91992fc9b59314b8a1..572e5f32a3c5aaffcec31da0cff9151efea252ac 100644 +index 1179c62695da4dcf02590c97d8da3c6fcdbee9ef..a107304351381d68fdaa35a4d7ff214e6c1546a6 100644 --- a/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java +++ b/src/main/java/net/minecraft/world/level/block/state/BlockBehaviour.java @@ -70,7 +70,7 @@ import net.minecraft.world.phys.shapes.VoxelShape; diff --git a/patches/server/0049-Players-should-not-cram-to-death.patch b/patches/server/0049-Players-should-not-cram-to-death.patch index fcc1bee80..117a5427a 100644 --- a/patches/server/0049-Players-should-not-cram-to-death.patch +++ b/patches/server/0049-Players-should-not-cram-to-death.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Players should not cram to death diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index bf0b2fd772c162110ba103f16b3658a9d9ee6172..24fb9596b86f37bf47f1661e85660a73618bc0a5 100644 +index 9282dab04e45075d34dd944436bc2fb5b286b0a4..5163ec0437e3d94ba0cff030588b1c07c04aca16 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1435,7 +1435,7 @@ public class ServerPlayer extends Player { +@@ -1436,7 +1436,7 @@ public class ServerPlayer extends Player { @Override public boolean isInvulnerableTo(DamageSource damageSource) { diff --git a/patches/server/0054-Add-permission-for-F3-N-debug.patch b/patches/server/0054-Add-permission-for-F3-N-debug.patch index e78aa1a86..eea0bad11 100644 --- a/patches/server/0054-Add-permission-for-F3-N-debug.patch +++ b/patches/server/0054-Add-permission-for-F3-N-debug.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add permission for F3+N debug diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index bcff95d97549f56f542644f8348a84088ab56846..b95430f904d8a096afc7fcdc892d80f6097663ad 100644 +index fb29b0cb962db93489ff4268c72e7c67cd736867..d613b5bf9d0be9b8593d4cc02b8cb77a1f49938a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1148,6 +1148,7 @@ public abstract class PlayerList { +@@ -1149,6 +1149,7 @@ public abstract class PlayerList { } else { b0 = (byte) (24 + i); } diff --git a/patches/server/0068-Add-canSaveToDisk-to-Entity.patch b/patches/server/0068-Add-canSaveToDisk-to-Entity.patch index 2b82694b7..523f48cd3 100644 --- a/patches/server/0068-Add-canSaveToDisk-to-Entity.patch +++ b/patches/server/0068-Add-canSaveToDisk-to-Entity.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add canSaveToDisk to Entity diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index e617f1acd2d73c35d293580b27bbd9a49b569e21..73d1efb6eb6a96368db57f316867cfc027159056 100644 +index 41efb6fb0d26e62229a5d5cfae2dc36b2d3b718e..ce2fe8ac56b3471bbd6a0e2a4b7680b420f3a1c8 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4058,5 +4058,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -4056,5 +4056,9 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n public boolean processClick(InteractionHand hand) { return false; } @@ -19,14 +19,14 @@ index e617f1acd2d73c35d293580b27bbd9a49b569e21..73d1efb6eb6a96368db57f316867cfc0 // Purpur end } diff --git a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java -index 6204c6c9cf2cb620e41105889807f85438bd006c..29f1ae2df9bd792e7d77479432ae48b0d070586b 100644 +index 572a013445bd83d366cce27d0e015ba8271df7e0..bba780934f4bb05bdb5ff8e69dc615a6b555b2f0 100644 --- a/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java +++ b/src/main/java/net/minecraft/world/level/chunk/storage/EntityStorage.java -@@ -90,6 +90,7 @@ public class EntityStorage implements EntityPersistentStorage { - } else { +@@ -91,6 +91,7 @@ public class EntityStorage implements EntityPersistentStorage { ListTag listTag = new ListTag(); + final java.util.Map, Integer> savedEntityCounts = new java.util.HashMap<>(); // Paper dataList.getEntities().forEach((entity) -> { + if (!entity.canSaveToDisk()) return; // Purpur - CompoundTag compoundTag = new CompoundTag(); - if (entity.save(compoundTag)) { - listTag.add(compoundTag); + // Paper start + final EntityType entityType = entity.getType(); + final int saveLimit = this.level.paperConfig.entityPerChunkSaveLimits.getOrDefault(entityType, -1); diff --git a/patches/server/0071-Mending-mends-most-damages-equipment-first.patch b/patches/server/0071-Mending-mends-most-damages-equipment-first.patch index 79afabd5b..e7f7820a2 100644 --- a/patches/server/0071-Mending-mends-most-damages-equipment-first.patch +++ b/patches/server/0071-Mending-mends-most-damages-equipment-first.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Mending mends most damages equipment first diff --git a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java -index a30f9d57257e1de1641f4af1fa7afaea3f0fd37c..5fffe07176ece547a0224aefbf7660a33508b959 100644 +index 1caf10ecf949e0f465ffe573f3bed1a3c5733a7f..8b6614bde99b17db2e161f3fe4ab2491ff7b679c 100644 --- a/src/main/java/net/minecraft/world/entity/ExperienceOrb.java +++ b/src/main/java/net/minecraft/world/entity/ExperienceOrb.java @@ -319,7 +319,7 @@ public class ExperienceOrb extends Entity { @@ -18,7 +18,7 @@ index a30f9d57257e1de1641f4af1fa7afaea3f0fd37c..5fffe07176ece547a0224aefbf7660a3 if (entry != null) { ItemStack itemstack = (ItemStack) entry.getValue(); diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index f85e9fb13ddeb5c3260592e3cdfe958a14bd63f6..70d0fcd323f1ab54dec770eb6aee394ae356b67d 100644 +index aa0680291d042b9b4510008965d80cfd075f277c..7c1852c7e32fe1945fde0ec3f3b9b96dfa0c1043 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -511,6 +511,16 @@ public final class ItemStack { @@ -39,7 +39,7 @@ index f85e9fb13ddeb5c3260592e3cdfe958a14bd63f6..70d0fcd323f1ab54dec770eb6aee394a return this.tag == null ? 0 : this.tag.getInt("Damage"); } diff --git a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java -index 069ce59faab5184ab9da8ca3fe1cebf7449cd7fe..b391b6f457b9a2df9d59eac46473576b809bd95e 100644 +index e246bf034a86deba5a15e7c639f5e08213fe7eee..585b29a214d0306ac2d6a170125270c1bbd7c58d 100644 --- a/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java +++ b/src/main/java/net/minecraft/world/item/enchantment/EnchantmentHelper.java @@ -246,6 +246,29 @@ public class EnchantmentHelper { @@ -66,10 +66,10 @@ index 069ce59faab5184ab9da8ca3fe1cebf7449cd7fe..b391b6f457b9a2df9d59eac46473576b + } + } + return item; -+ } ++ } + // Purpur end + - public static @javax.annotation.Nonnull ItemStack getRandomEquippedItemWithEnchant(Enchantment enchantment, LivingEntity entityliving) { + @Deprecated public static @javax.annotation.Nonnull ItemStack getRandomEquippedItemWithEnchant(Enchantment enchantment, LivingEntity entityliving) { Entry entry = getRandomItemWith(enchantment, entityliving); return entry != null ? entry.getValue() : ItemStack.EMPTY; diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java diff --git a/patches/server/0072-Add-5-second-tps-average-in-tps.patch b/patches/server/0072-Add-5-second-tps-average-in-tps.patch index da66cdb7a..755cc80b1 100644 --- a/patches/server/0072-Add-5-second-tps-average-in-tps.patch +++ b/patches/server/0072-Add-5-second-tps-average-in-tps.patch @@ -27,10 +27,10 @@ index fa56cd09102a89692b42f1d14257990508c5c720..f9251183df72ddc56662fd3f02acf216 setListData(vector); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 8e8980ef7b2273da6e7dbf4d8d5eb9529a3392af..3b523e53b0224bb9b727b22753ea39c34d1e515d 100644 +index 36d26af5b28e96cee930307b6d18edd7bfae8f23..91e6d0b6560ffa8e870eca9707d5cd117fcb2347 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -306,7 +306,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop TORCH.test(human.getItemInHand(net.minecraft.world.InteractionHand.MAIN_HAND)) || TORCH.test(human.getItemInHand(net.minecraft.world.InteractionHand.OFF_HAND)));// Purpur if (!list.isEmpty()) { - list.sort(Comparator.comparing(Entity::getY).reversed()); // Paper - decomp fix + list.sort(Comparator.comparing(Entity::getY).reversed()); // Paper - remap fix Iterator iterator = list.iterator(); diff --git a/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java b/src/main/java/net/pl3x/purpur/PurpurWorldConfig.java index be2b723202dc0096a6d3a532c98d407063f2d2bd..cd388dcd77dabb50b8e09558d83881a3563a99af 100644 diff --git a/patches/server/0098-Short-enderman-height.patch b/patches/server/0098-Short-enderman-height.patch index b350b3cf9..a772c6d27 100644 --- a/patches/server/0098-Short-enderman-height.patch +++ b/patches/server/0098-Short-enderman-height.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Short enderman height diff --git a/src/main/java/net/minecraft/world/entity/EntityType.java b/src/main/java/net/minecraft/world/entity/EntityType.java -index 63e3105daeb697ff76cca15d55d14b14ca1523f6..368f6fb3697a57a96f5677bd69d2ae3dc199d295 100644 +index 500d4494db3c9663e02f6ce02c2104a9b08d6dc4..00b6243977a318f81e9524968f21a7f0e24f425d 100644 --- a/src/main/java/net/minecraft/world/entity/EntityType.java +++ b/src/main/java/net/minecraft/world/entity/EntityType.java -@@ -281,7 +281,8 @@ public class EntityType implements EntityTypeTest { +@@ -280,7 +280,8 @@ public class EntityType implements EntityTypeTest { private Component description; @Nullable private ResourceLocation lootTable; @@ -19,7 +19,7 @@ index 63e3105daeb697ff76cca15d55d14b14ca1523f6..368f6fb3697a57a96f5677bd69d2ae3d private static EntityType register(String id, EntityType.Builder type) { // CraftBukkit - decompile error return (EntityType) Registry.register((Registry) Registry.ENTITY_TYPE, id, (Object) type.build(id)); diff --git a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java -index 1621070f24eb70d55ee802cfbea831598102a807..bf8e240e0a80817778c9e0271a954a9f419d450e 100644 +index 6e0b5fbf5b0d216b6b7c647d45ef37cd6b591717..5ebedd6a156b06e98aded57c817f63429a1ae380 100644 --- a/src/main/java/net/minecraft/world/entity/monster/EnderMan.java +++ b/src/main/java/net/minecraft/world/entity/monster/EnderMan.java @@ -393,6 +393,7 @@ public class EnderMan extends Monster implements NeutralMob { diff --git a/patches/server/0099-Stop-squids-floating-on-top-of-water.patch b/patches/server/0099-Stop-squids-floating-on-top-of-water.patch index 4ca9fa18f..4b9258c6a 100644 --- a/patches/server/0099-Stop-squids-floating-on-top-of-water.patch +++ b/patches/server/0099-Stop-squids-floating-on-top-of-water.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Stop squids floating on top of water diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 73d1efb6eb6a96368db57f316867cfc027159056..f9d8d5ef1ca960324351fa1151f79906950845b3 100644 +index ce2fe8ac56b3471bbd6a0e2a4b7680b420f3a1c8..1082741d837606cc9b9975a2dbea852f8f87db5e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3632,11 +3632,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -3630,11 +3630,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n this.yRotO = this.getYRot(); } @@ -45,10 +45,10 @@ index f96def2ebdf114823c322c2d4318d039e20eab97..2affff346a7fe81480e86cb61996039d @Override diff --git a/src/main/java/net/minecraft/world/phys/AABB.java b/src/main/java/net/minecraft/world/phys/AABB.java -index 4eeb186231551a9df453ec9d6a8a9dc9f8835464..1e184724e112b28ff4abb6ecf5d564c260e795ba 100644 +index 120498a39b7ca7aee9763084507508d4a1c425aa..0dfc639043998cd3bd32afaaf8153459172cc9f9 100644 --- a/src/main/java/net/minecraft/world/phys/AABB.java +++ b/src/main/java/net/minecraft/world/phys/AABB.java -@@ -357,4 +357,10 @@ public class AABB { +@@ -356,4 +356,10 @@ public class AABB { public static AABB ofSize(Vec3 center, double dx, double dy, double dz) { return new AABB(center.x - dx / 2.0D, center.y - dy / 2.0D, center.z - dz / 2.0D, center.x + dx / 2.0D, center.y + dy / 2.0D, center.z + dz / 2.0D); } diff --git a/patches/server/0102-Entities-can-use-portals-configuration.patch b/patches/server/0102-Entities-can-use-portals-configuration.patch index 12bc8af4e..740e37684 100644 --- a/patches/server/0102-Entities-can-use-portals-configuration.patch +++ b/patches/server/0102-Entities-can-use-portals-configuration.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Entities can use portals configuration diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index f9d8d5ef1ca960324351fa1151f79906950845b3..8bcec4ff2f20973e6a884b89a59683d6dddcebb2 100644 +index 1082741d837606cc9b9975a2dbea852f8f87db5e..08a5ff1d59b2f4675fd2ddc2e2056333a6531b3d 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -2509,7 +2509,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -2507,7 +2507,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n public void handleInsidePortal(BlockPos pos) { if (this.isOnPortalCooldown()) { this.setPortalCooldown(); @@ -17,7 +17,7 @@ index f9d8d5ef1ca960324351fa1151f79906950845b3..8bcec4ff2f20973e6a884b89a59683d6 if (!this.level.isClientSide && !pos.equals(this.portalEntrancePos)) { this.portalEntrancePos = pos.immutable(); } -@@ -3141,7 +3141,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n +@@ -3139,7 +3139,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, n } public boolean canChangeDimensions() {