diff --git a/gradle.properties b/gradle.properties index 24b1b8f..c795ec2 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,7 +2,7 @@ group=org.galemc.gale version=1.20.4-R0.1-SNAPSHOT mcVersion=1.20.4 -paperRef=dc621507f55a14d278a359d247e62134556a136a +paperRef=07b956e3a30d9cd192111829b59bdf4372f128b1 org.gradle.caching=true org.gradle.parallel=true diff --git a/patches/api/0007-Do-not-log-plugin-library-loads.patch b/patches/api/0007-Do-not-log-plugin-library-loads.patch index 019e035..419f640 100644 --- a/patches/api/0007-Do-not-log-plugin-library-loads.patch +++ b/patches/api/0007-Do-not-log-plugin-library-loads.patch @@ -55,10 +55,10 @@ index eaefbb00e9993d54906cc8cf35cf753c0d6c7707..92d20e70d26318fbaed8adffd21c6b77 * This class was not meant to be constructed explicitly * diff --git a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java -index e4b6f278a811acbb0070e311c5c3bdaff7b00474..a749856a6a4189d1f5aa3f193f5fa6a9dd7b13f1 100644 +index 653135352c104a6ddeb74a1b6d4916c6952d6271..78a6e7a31a81bc82d3e3687661e16c6d8ebc4617 100644 --- a/src/main/java/org/bukkit/plugin/java/LibraryLoader.java +++ b/src/main/java/org/bukkit/plugin/java/LibraryLoader.java -@@ -65,6 +65,7 @@ public class LibraryLoader +@@ -66,6 +66,7 @@ public class LibraryLoader @Override public void transferStarted(@NotNull TransferEvent event) throws TransferCancelledException { @@ -66,7 +66,7 @@ index e4b6f278a811acbb0070e311c5c3bdaff7b00474..a749856a6a4189d1f5aa3f193f5fa6a9 logger.log( Level.INFO, "Downloading {0}", event.getResource().getRepositoryUrl() + event.getResource().getResourceName() ); } } ); -@@ -80,6 +81,7 @@ public class LibraryLoader +@@ -81,6 +82,7 @@ public class LibraryLoader { return null; } @@ -74,7 +74,7 @@ index e4b6f278a811acbb0070e311c5c3bdaff7b00474..a749856a6a4189d1f5aa3f193f5fa6a9 logger.log( Level.INFO, "[{0}] Loading {1} libraries... please wait", new Object[] { java.util.Objects.requireNonNullElseGet(desc.getPrefix(), desc::getName), desc.getLibraries().size() // Paper - use configured log prefix -@@ -118,6 +120,7 @@ public class LibraryLoader +@@ -119,6 +121,7 @@ public class LibraryLoader } jarFiles.add( url ); diff --git a/patches/api/0008-Player-canSee-by-entity-UUID.patch b/patches/api/0008-Player-canSee-by-entity-UUID.patch index 53dd498..191f9ec 100644 --- a/patches/api/0008-Player-canSee-by-entity-UUID.patch +++ b/patches/api/0008-Player-canSee-by-entity-UUID.patch @@ -37,10 +37,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/org/bukkit/entity/Player.java b/src/main/java/org/bukkit/entity/Player.java -index a8d3451ccfcd21a9e80adc2feab8fc9c2926c753..d323109ef01bcd31970a749854eeaf8805e8de6b 100644 +index ae61a39b25267b84fe0b8766e4b12d9b24b44ded..caa24af01ee57c8d1917818c1063d2fa75f1ae4a 100644 --- a/src/main/java/org/bukkit/entity/Player.java +++ b/src/main/java/org/bukkit/entity/Player.java -@@ -1928,6 +1928,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM +@@ -1967,6 +1967,16 @@ public interface Player extends HumanEntity, Conversable, OfflinePlayer, PluginM boolean listPlayer(@NotNull Player other); // Paper end diff --git a/patches/server/0006-Gale-metrics.patch b/patches/server/0006-Gale-metrics.patch index cc5c209..86cced7 100644 --- a/patches/server/0006-Gale-metrics.patch +++ b/patches/server/0006-Gale-metrics.patch @@ -319,10 +319,10 @@ index 4b002e8b75d117b726b0de274a76d3596fce015b..2868dab7b100d9c325b0e5056f86660d } diff --git a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkTaskScheduler.java b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkTaskScheduler.java -index f975cb93716e137d973ff2f9011acdbef58859a2..d94eb8ca7ce18364d58d05592bbdf3637581460f 100644 +index 17ce14f2dcbf900890efbc2351782bc6f8867068..fd099f8a7d95f46de7380c8280623bf5eb427eaa 100644 --- a/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkTaskScheduler.java +++ b/src/main/java/io/papermc/paper/chunk/system/scheduling/ChunkTaskScheduler.java -@@ -42,7 +42,7 @@ public final class ChunkTaskScheduler { +@@ -43,7 +43,7 @@ public final class ChunkTaskScheduler { private static final Logger LOGGER = LogUtils.getClassLogger(); diff --git a/patches/server/0008-Gale-configuration.patch b/patches/server/0008-Gale-configuration.patch index 96774a5..8493fbd 100644 --- a/patches/server/0008-Gale-configuration.patch +++ b/patches/server/0008-Gale-configuration.patch @@ -325,7 +325,7 @@ index 58536aabf607015939a1326f80207c0a06eed8ff..0ce390a0ffb021f58dd763e44ebe9dab if (this.convertOldUsers()) { this.getProfileCache().save(false); // Paper diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index b78a9628a88f2a495ef6de74446a02a14d41a1f6..5a2e9043c671a7274baa9f9944c7db4883844026 100644 +index 7c31f619a6e8e3539c547fc43d821d2cce7df7e7..516aaf7a9e77bcbb40124acb3f5ffadfa439d1f1 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -134,12 +134,10 @@ import net.minecraft.world.level.chunk.storage.EntityStorage; @@ -341,7 +341,7 @@ index b78a9628a88f2a495ef6de74446a02a14d41a1f6..5a2e9043c671a7274baa9f9944c7db48 import net.minecraft.world.level.gameevent.DynamicGameEventListener; import net.minecraft.world.level.gameevent.GameEvent; import net.minecraft.world.level.gameevent.GameEventDispatcher; -@@ -693,7 +691,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -698,7 +696,7 @@ public class ServerLevel extends Level implements WorldGenLevel { // Holder holder = worlddimension.type(); // CraftBukkit - decompile error // Objects.requireNonNull(minecraftserver); // CraftBukkit - decompile error @@ -351,7 +351,7 @@ index b78a9628a88f2a495ef6de74446a02a14d41a1f6..5a2e9043c671a7274baa9f9944c7db48 this.convertable = convertable_conversionsession; this.uuid = WorldUUID.getUUID(convertable_conversionsession.levelDirectory.path().toFile()); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index f8e519684d02dff0e26734eb89eca54ae1d9b1ee..88ffde2dbbb94f1c542f6040fc9983d20e7af3b7 100644 +index 6403341f2e9d7ac4251336cb0bcc5d79dbb7bb0e..5dc2e7c5087dc29fd2726053f5561409c9e05163 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -1,10 +1,7 @@ diff --git a/patches/server/0017-Remove-vanilla-profiler.patch b/patches/server/0017-Remove-vanilla-profiler.patch index 640e035..fb1319d 100644 --- a/patches/server/0017-Remove-vanilla-profiler.patch +++ b/patches/server/0017-Remove-vanilla-profiler.patch @@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index 55f3f5396dac2b0bb0cc37b537547e9245042100..e0a149b2bc29b3aab7be10798f6a0978f9381c07 100644 +index 8fe48c6bf65db6b11fcd0674aad01d5bb8d17a5f..9d25fcd598517871eb260dff3d208e3b4ec33251 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java @@ -54,7 +54,6 @@ import net.minecraft.server.commands.CloneCommands; @@ -56,7 +56,7 @@ index 55f3f5396dac2b0bb0cc37b537547e9245042100..e0a149b2bc29b3aab7be10798f6a0978 DefaultGameModeCommands.register(this.dispatcher); DifficultyCommand.register(this.dispatcher); EffectCommands.register(this.dispatcher, commandRegistryAccess); -@@ -335,9 +333,6 @@ public class Commands { +@@ -326,9 +324,6 @@ public class Commands { public void performCommand(ParseResults parseresults, String s, String label) { // CraftBukkit CommandSourceStack commandlistenerwrapper = (CommandSourceStack) parseresults.getContext().getSource(); @@ -66,7 +66,7 @@ index 55f3f5396dac2b0bb0cc37b537547e9245042100..e0a149b2bc29b3aab7be10798f6a0978 ContextChain contextchain = this.finishParsing(parseresults, s, commandlistenerwrapper, label); // CraftBukkit // Paper - make finishParsing not static try { -@@ -365,8 +360,6 @@ public class Commands { +@@ -356,8 +351,6 @@ public class Commands { commandlistenerwrapper.sendFailure(Component.literal(Util.describeError(exception))); Commands.LOGGER.error("'/{}' threw an exception", s, exception); } @@ -75,7 +75,7 @@ index 55f3f5396dac2b0bb0cc37b537547e9245042100..e0a149b2bc29b3aab7be10798f6a0978 } } -@@ -436,7 +429,7 @@ public class Commands { +@@ -427,7 +420,7 @@ public class Commands { int j = minecraftserver.getGameRules().getInt(GameRules.RULE_MAX_COMMAND_FORK_COUNT); try { @@ -599,7 +599,7 @@ index df0c15f6b5b2224d53e4f8fad42b9a1e5f33dc25..caa6dcfec13728863dcf21f9f778665b } diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index d9cd497bc1b654030ff1a597f038b6a881df9f6b..20e3e1a1bac6d97507f733a7fa57081998126ea4 100644 +index ecb09c74153349e78bb81d1188c282e4be4000bf..57bdaf48e7f1edc387d0ebbaada7b9643c2e8410 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java @@ -68,7 +68,6 @@ import net.minecraft.server.level.progress.ChunkProgressListener; @@ -756,7 +756,7 @@ index 44ada45d9bf2d9b48e5de1c3cb1a855902f3884b..7bde3392d46fb1be3d04db97a5ec02ec } diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fea14dcd91 100644 +index 516aaf7a9e77bcbb40124acb3f5ffadfa439d1f1..7dcf7fa990640ef4e7c0260597d54ad10096c171 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -78,7 +78,6 @@ import net.minecraft.util.Mth; @@ -767,7 +767,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe import net.minecraft.util.valueproviders.IntProvider; import net.minecraft.util.valueproviders.UniformInt; import net.minecraft.world.DifficultyInstance; -@@ -691,15 +690,17 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -696,15 +695,17 @@ public class ServerLevel extends Level implements WorldGenLevel { // Holder holder = worlddimension.type(); // CraftBukkit - decompile error // Objects.requireNonNull(minecraftserver); // CraftBukkit - decompile error @@ -788,7 +788,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe this.navigatingMobs = new ObjectOpenHashSet(); this.blockEvents = new ObjectLinkedOpenHashSet(); this.blockEventsToReschedule = new ArrayList(64); -@@ -802,16 +803,12 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -807,16 +808,12 @@ public class ServerLevel extends Level implements WorldGenLevel { } public void tick(BooleanSupplier shouldKeepTicking) { @@ -805,7 +805,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe this.advanceWeatherCycle(); } -@@ -843,30 +840,23 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -848,30 +845,23 @@ public class ServerLevel extends Level implements WorldGenLevel { this.tickTime(); } @@ -836,7 +836,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe if (flag) { this.timings.doSounds.startTiming(); // Spigot this.runBlockEvents(); -@@ -874,7 +864,6 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -879,7 +869,6 @@ public class ServerLevel extends Level implements WorldGenLevel { } this.handlingTick = false; @@ -844,7 +844,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe boolean flag1 = true || !this.players.isEmpty() || !this.getForcedChunks().isEmpty(); // CraftBukkit - this prevents entity cleanup, other issues on servers with no players if (flag1) { -@@ -882,12 +871,9 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -887,12 +876,9 @@ public class ServerLevel extends Level implements WorldGenLevel { } if (flag1 || this.emptyTime++ < 300) { @@ -857,7 +857,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe } org.spigotmc.ActivationRange.activateEntities(this); // Spigot -@@ -897,9 +883,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -902,9 +888,7 @@ public class ServerLevel extends Level implements WorldGenLevel { if (false && this.shouldDiscardEntity(entity)) { // CraftBukkit - We prevent spawning in general, so this butchering is not needed entity.discard(); } else if (!tickratemanager.isEntityFrozen(entity)) { @@ -867,7 +867,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe if (true || this.chunkSource.chunkMap.getDistanceManager().inEntityTickingRange(entity.chunkPosition().toLong())) { // Paper - now always true if in the ticking list Entity entity1 = entity.getVehicle(); -@@ -911,22 +895,17 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -916,22 +900,17 @@ public class ServerLevel extends Level implements WorldGenLevel { entity.stopRiding(); } @@ -890,7 +890,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe } @Override -@@ -985,9 +964,6 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -990,9 +969,6 @@ public class ServerLevel extends Level implements WorldGenLevel { boolean flag = this.isRaining(); int j = chunkcoordintpair.getMinBlockX(); int k = chunkcoordintpair.getMinBlockZ(); @@ -900,7 +900,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change if (!this.paperConfig().environment.disableThunder && flag && this.isThundering() && this.spigotConfig.thunderChance > 0 && this.random.nextInt(this.spigotConfig.thunderChance) == 0) { // Spigot // Paper - disable thunder -@@ -1018,8 +994,6 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1023,8 +999,6 @@ public class ServerLevel extends Level implements WorldGenLevel { } } @@ -909,7 +909,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe if (!this.paperConfig().environment.disableIceAndSnow) { // Paper for (int l = 0; l < randomTickSpeed; ++l) { if (this.random.nextInt(48) == 0) { -@@ -1031,7 +1005,6 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1036,7 +1010,6 @@ public class ServerLevel extends Level implements WorldGenLevel { } } // Paper @@ -917,7 +917,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe timings.chunkTicksBlocks.startTiming(); // Paper if (randomTickSpeed > 0) { // Paper start - optimize random block ticking -@@ -1067,7 +1040,6 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1072,7 +1045,6 @@ public class ServerLevel extends Level implements WorldGenLevel { // Paper end - optimise random block ticking timings.chunkTicksBlocks.stopTiming(); // Paper @@ -925,7 +925,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe } @VisibleForTesting -@@ -1396,19 +1368,13 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1401,19 +1373,13 @@ public class ServerLevel extends Level implements WorldGenLevel { try { // Paper end - timings entity.setOldPosAndRot(); @@ -945,7 +945,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe } finally { timer.stopTiming(); } // Paper - timings Iterator iterator = entity.getPassengers().iterator(); -@@ -1437,12 +1403,6 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1442,12 +1408,6 @@ public class ServerLevel extends Level implements WorldGenLevel { // Paper end passenger.setOldPosAndRot(); ++passenger.tickCount; @@ -958,7 +958,7 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe // Paper start - EAR 2 if (isActive) { passenger.rideTick(); -@@ -1454,7 +1414,6 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1459,7 +1419,6 @@ public class ServerLevel extends Level implements WorldGenLevel { vehicle.positionRider(passenger); } // Paper end - EAR 2 @@ -967,10 +967,10 @@ index 5a2e9043c671a7274baa9f9944c7db4883844026..7ec3570c1759f9c7f857fcb74cd397fe while (iterator.hasNext()) { diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 0eb3384df396508c3d26d1e155cd0e6d64251346..abd5b168f570fd3b9b5ac559ae4f399ab8835686 100644 +index be05a52be037042c6158100e2ce880b8ed415d53..fe1a1947da61170c0920e67b103c5c78f4c5cfcb 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -1212,7 +1212,6 @@ public class ServerPlayer extends Player { +@@ -1213,7 +1213,6 @@ public class ServerPlayer extends Player { PortalInfo shapedetectorshape = this.findDimensionEntryPoint(worldserver); if (shapedetectorshape != null) { @@ -978,7 +978,7 @@ index 0eb3384df396508c3d26d1e155cd0e6d64251346..abd5b168f570fd3b9b5ac559ae4f399a worldserver = shapedetectorshape.world; // CraftBukkit if (worldserver == null) { } else // CraftBukkit - empty to fall through to null to event if (resourcekey == LevelStem.OVERWORLD && worldserver.getTypeKey() == LevelStem.NETHER) { // CraftBukkit -@@ -1235,8 +1234,6 @@ public class ServerPlayer extends Player { +@@ -1236,8 +1235,6 @@ public class ServerPlayer extends Player { worldserver = ((CraftWorld) exit.getWorld()).getHandle(); // CraftBukkit end @@ -987,7 +987,7 @@ index 0eb3384df396508c3d26d1e155cd0e6d64251346..abd5b168f570fd3b9b5ac559ae4f399a if (true) { // CraftBukkit this.isChangingDimension = true; // CraftBukkit - Set teleport invulnerability only if player changing worlds -@@ -1253,7 +1250,6 @@ public class ServerPlayer extends Player { +@@ -1254,7 +1251,6 @@ public class ServerPlayer extends Player { this.connection.teleport(exit); // CraftBukkit - use internal teleport without event this.connection.resetPosition(); worldserver.addDuringPortalTeleport(this); @@ -1096,10 +1096,10 @@ index 7ab57748b2f2aea1003d9b7e70e76c372aa1e432..47e75ec4a01f8a456ec6ebc13031c1f0 } diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..f7a8180e1cf5f48515285c4b90656bbb2fd473d4 100644 +index 1be10c57e374ad4018c08d96cfb69397a2f541d3..ea5a63944c09a91f549099fa04f063f812af6459 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -815,7 +815,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -819,7 +819,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S // CraftBukkit end public void baseTick() { @@ -1107,7 +1107,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..f7a8180e1cf5f48515285c4b90656bbb if (firstTick && this instanceof net.minecraft.world.entity.NeutralMob neutralMob) neutralMob.tickInitialPersistentAnger(level); // Paper - Update last hurt when ticking this.feetBlockState = null; if (this.isPassenger() && this.getVehicle().isRemoved()) { -@@ -876,7 +875,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -880,7 +879,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } this.firstTick = false; @@ -1115,7 +1115,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..f7a8180e1cf5f48515285c4b90656bbb } public void setSharedFlagOnFire(boolean onFire) { -@@ -1095,7 +1093,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -1099,7 +1097,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } } @@ -1123,7 +1123,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..f7a8180e1cf5f48515285c4b90656bbb if (this.stuckSpeedMultiplier.lengthSqr() > 1.0E-7D) { movement = movement.multiply(this.stuckSpeedMultiplier); this.stuckSpeedMultiplier = Vec3.ZERO; -@@ -1104,7 +1101,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -1108,7 +1105,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S // Paper start - ignore movement changes while inactive. if (isTemporarilyActive && !(this instanceof ItemEntity || this instanceof net.minecraft.world.entity.vehicle.AbstractMinecart) && movement == getDeltaMovement() && movementType == MoverType.SELF) { setDeltaMovement(Vec3.ZERO); @@ -1131,7 +1131,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..f7a8180e1cf5f48515285c4b90656bbb return; } // Paper end -@@ -1125,8 +1121,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -1129,8 +1125,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S this.setPos(this.getX() + vec3d1.x, this.getY() + vec3d1.y, this.getZ() + vec3d1.z); } @@ -1140,7 +1140,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..f7a8180e1cf5f48515285c4b90656bbb boolean flag = !Mth.equal(movement.x, vec3d1.x); boolean flag1 = !Mth.equal(movement.z, vec3d1.z); -@@ -1144,9 +1138,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -1148,9 +1142,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S BlockState iblockdata = this.level().getBlockState(blockposition); this.checkFallDamage(vec3d1.y, this.onGround(), iblockdata, blockposition); @@ -1151,7 +1151,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..f7a8180e1cf5f48515285c4b90656bbb if (this.horizontalCollision) { Vec3 vec3d2 = this.getDeltaMovement(); -@@ -1282,8 +1274,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -1286,8 +1278,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S if (this.isOnFire() && (this.isInPowderSnow || this.isInWaterRainOrBubble())) { this.setRemainingFireTicks(-this.getFireImmuneTicks()); } @@ -1160,7 +1160,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..f7a8180e1cf5f48515285c4b90656bbb } } // Paper start - detailed watchdog information -@@ -3138,7 +3128,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3142,7 +3132,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S ServerLevel worldserver1 = minecraftserver.getLevel(resourcekey); if (true && !this.isPassenger() && this.portalTime++ >= i) { // CraftBukkit @@ -1168,7 +1168,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..f7a8180e1cf5f48515285c4b90656bbb this.portalTime = i; // Paper start io.papermc.paper.event.entity.EntityPortalReadyEvent event = new io.papermc.paper.event.entity.EntityPortalReadyEvent(this.getBukkitEntity(), worldserver1 == null ? null : worldserver1.getWorld(), org.bukkit.PortalType.NETHER); -@@ -3156,7 +3145,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3160,7 +3149,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } } // Paper // CraftBukkit end @@ -1176,7 +1176,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..f7a8180e1cf5f48515285c4b90656bbb } this.isInsidePortal = false; -@@ -3631,14 +3619,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3635,14 +3623,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } // Paper end if (this.level() instanceof ServerLevel && !this.isRemoved()) { @@ -1191,7 +1191,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..f7a8180e1cf5f48515285c4b90656bbb PortalInfo shapedetectorshape = (location == null) ? this.findDimensionEntryPoint(worldserver) : new PortalInfo(new Vec3(location.x(), location.y(), location.z()), Vec3.ZERO, this.yRot, this.xRot, worldserver, null); // CraftBukkit if (shapedetectorshape == null) { -@@ -3677,7 +3663,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3681,7 +3667,6 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S this.unRide(); // CraftBukkit end @@ -1199,7 +1199,7 @@ index 0c46a4aeafd03fbbfd590b0362d41bf2b1d5ca74..f7a8180e1cf5f48515285c4b90656bbb // Paper start - Change lead drop timing to prevent dupe if (this instanceof Mob) { ((Mob) this).dropLeash(true, true); // Paper drop lead -@@ -3704,10 +3689,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3708,10 +3693,8 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } this.removeAfterChangingDimensions(); @@ -1304,7 +1304,7 @@ index bc908b75cb99536df658281ae7f8b4eeedbbedc9..c4c7970e3dce12985c401d23d288bd8d if (((ServerLevel) this.level()).hasEntityMoveEvent && !(this instanceof net.minecraft.world.entity.player.Player)) { if (this.xo != this.getX() || this.yo != this.getY() || this.zo != this.getZ() || this.yRotO != this.getYRot() || this.xRotO != this.getXRot()) { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 5af48151159135b869ec4753bbcf79dd257c1570..5fa46974539fcfe3b344788c49e0be94228b1a6d 100644 +index a7fbd329ea6d36a46c00b4476c74e426dbbfe238..1cdacd42ea421833caef345a05fb53a8d93aec36 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -146,8 +146,10 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -1739,7 +1739,7 @@ index 9442f58dff89ec843c321533965fbee2727d02f8..3fde433edfd8835bf162cf39dd9999aa if (this.fire) { diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 88ffde2dbbb94f1c542f6040fc9983d20e7af3b7..21baa628ebb9a9e5263c79bbc8cb495ce998ef3a 100644 +index 5dc2e7c5087dc29fd2726053f5561409c9e05163..09c0e0e5a1edba28809aaa2b980d02d68a006fa7 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -132,7 +132,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @@ -1767,7 +1767,7 @@ index 88ffde2dbbb94f1c542f6040fc9983d20e7af3b7..21baa628ebb9a9e5263c79bbc8cb495c this.levelData = worlddatamutable; this.dimensionTypeRegistration = holder; this.dimensionTypeId = (ResourceKey) holder.unwrapKey().orElseThrow(() -> { -@@ -1261,9 +1259,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1266,9 +1264,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } protected void tickBlockEntities() { @@ -1777,7 +1777,7 @@ index 88ffde2dbbb94f1c542f6040fc9983d20e7af3b7..21baa628ebb9a9e5263c79bbc8cb495c this.timings.tileEntityPending.startTiming(); // Spigot this.tickingBlockEntities = true; if (!this.pendingBlockEntityTickers.isEmpty()) { -@@ -1304,7 +1299,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1309,7 +1304,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { this.timings.tileEntityTick.stopTiming(); // Spigot this.tickingBlockEntities = false; co.aikar.timings.TimingHistory.tileEntityTicks += this.blockEntityTickers.size(); // Paper @@ -1785,7 +1785,7 @@ index 88ffde2dbbb94f1c542f6040fc9983d20e7af3b7..21baa628ebb9a9e5263c79bbc8cb495c this.spigotConfig.currentPrimedTnt = 0; // Spigot } -@@ -1514,7 +1508,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1519,7 +1513,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { @Override public List getEntities(@Nullable Entity except, AABB box, Predicate predicate) { @@ -1793,7 +1793,7 @@ index 88ffde2dbbb94f1c542f6040fc9983d20e7af3b7..21baa628ebb9a9e5263c79bbc8cb495c List list = Lists.newArrayList(); ((ServerLevel)this).getEntityLookup().getEntities(except, box, list, predicate); // Paper - optimise this call return list; -@@ -1533,7 +1526,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1538,7 +1531,6 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } public void getEntities(EntityTypeTest filter, AABB box, Predicate predicate, List result, int limit) { @@ -1801,7 +1801,7 @@ index 88ffde2dbbb94f1c542f6040fc9983d20e7af3b7..21baa628ebb9a9e5263c79bbc8cb495c // Paper start - optimise this call //TODO use limit if (filter instanceof net.minecraft.world.entity.EntityType entityTypeTest) { -@@ -1792,11 +1784,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1797,11 +1789,11 @@ public abstract class Level implements LevelAccessor, AutoCloseable { } public ProfilerFiller getProfiler() { diff --git a/patches/server/0023-Move-random-tick-random.patch b/patches/server/0023-Move-random-tick-random.patch index 65c6069..72f5b47 100644 --- a/patches/server/0023-Move-random-tick-random.patch +++ b/patches/server/0023-Move-random-tick-random.patch @@ -19,10 +19,10 @@ require it to be initialized earlier. By moving it to the superclass, we initialize it earlier, ensuring that it is available sooner. diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 7ec3570c1759f9c7f857fcb74cd397fea14dcd91..e38cd60ba31129ed53c8c3839fedd6f77440f4b1 100644 +index 7dcf7fa990640ef4e7c0260597d54ad10096c171..97a5034ff7faf16f179aca13234f35a515cf808f 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -956,7 +956,6 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -961,7 +961,6 @@ public class ServerLevel extends Level implements WorldGenLevel { } // Paper start - optimise random block ticking private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos(); @@ -31,7 +31,7 @@ index 7ec3570c1759f9c7f857fcb74cd397fea14dcd91..e38cd60ba31129ed53c8c3839fedd6f7 public void tickChunk(LevelChunk chunk, int randomTickSpeed) { diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 8c3c92e2a666bcfb88aaff4ca36507e6ea20afc5..c434d73f69cf39d2139a2e71605575733c8c4752 100644 +index 09c0e0e5a1edba28809aaa2b980d02d68a006fa7..a6084e0d9bcd12c1445bd5acec6a64cc6e694b9b 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -184,6 +184,8 @@ public abstract class Level implements LevelAccessor, AutoCloseable { diff --git a/patches/server/0024-Optimize-random-calls-in-chunk-ticking.patch b/patches/server/0024-Optimize-random-calls-in-chunk-ticking.patch index 8931b52..000d242 100644 --- a/patches/server/0024-Optimize-random-calls-in-chunk-ticking.patch +++ b/patches/server/0024-Optimize-random-calls-in-chunk-ticking.patch @@ -64,10 +64,10 @@ index 7bde3392d46fb1be3d04db97a5ec02ecc4a5ca0a..51f86a87c89057351d6984e655674212 this.level.timings.countNaturalMobs.startTiming(); // Paper - timings int k = this.distanceManager.getNaturalSpawnChunkCount(); diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index e38cd60ba31129ed53c8c3839fedd6f77440f4b1..be1dbe955461823de7b3dbf032d399837be62ea9 100644 +index 97a5034ff7faf16f179aca13234f35a515cf808f..7212d15b58d9045bd4a30d11a3dac5eb395d00df 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -958,6 +958,8 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -963,6 +963,8 @@ public class ServerLevel extends Level implements WorldGenLevel { private final BlockPos.MutableBlockPos chunkTickMutablePosition = new BlockPos.MutableBlockPos(); // Paper end @@ -76,7 +76,7 @@ index e38cd60ba31129ed53c8c3839fedd6f77440f4b1..be1dbe955461823de7b3dbf032d39983 public void tickChunk(LevelChunk chunk, int randomTickSpeed) { ChunkPos chunkcoordintpair = chunk.getPos(); boolean flag = this.isRaining(); -@@ -965,7 +967,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -970,7 +972,7 @@ public class ServerLevel extends Level implements WorldGenLevel { int k = chunkcoordintpair.getMinBlockZ(); final BlockPos.MutableBlockPos blockposition = this.chunkTickMutablePosition; // Paper - use mutable to reduce allocation rate, final to force compile fail on change @@ -85,7 +85,7 @@ index e38cd60ba31129ed53c8c3839fedd6f77440f4b1..be1dbe955461823de7b3dbf032d39983 blockposition.set(this.findLightningTargetAround(this.getBlockRandomPos(j, 0, k, 15))); // Paper if (this.isRainingAt(blockposition)) { -@@ -993,7 +995,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -998,7 +1000,7 @@ public class ServerLevel extends Level implements WorldGenLevel { } } diff --git a/patches/server/0031-Cache-on-climbable-check.patch b/patches/server/0031-Cache-on-climbable-check.patch index 7f8cd25..e20527e 100644 --- a/patches/server/0031-Cache-on-climbable-check.patch +++ b/patches/server/0031-Cache-on-climbable-check.patch @@ -31,7 +31,7 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/LivingEntity.java b/src/main/java/net/minecraft/world/entity/LivingEntity.java -index f0cc2a0ce82071cf04fa5e885943cc72c44e1eab..93c810fe4c392b20295f73044470aa45f13d857f 100644 +index c4c7970e3dce12985c401d23d288bd8d9bca6913..e4c1afec0d90c8131e210b7676733e355f2b08b9 100644 --- a/src/main/java/net/minecraft/world/entity/LivingEntity.java +++ b/src/main/java/net/minecraft/world/entity/LivingEntity.java @@ -142,7 +142,6 @@ import org.bukkit.event.entity.EntityTeleportEvent; @@ -64,15 +64,15 @@ index f0cc2a0ce82071cf04fa5e885943cc72c44e1eab..93c810fe4c392b20295f73044470aa45 if (this.isSpectator()) { return false; diff --git a/src/main/java/org/spigotmc/ActivationRange.java b/src/main/java/org/spigotmc/ActivationRange.java -index 59103744ac6beeb12719fdefcda54eeff498229e..4bce0b788b441afd5ba939cc6d37d6c7072a9155 100644 +index 2d31752478636bd21bbff5b430e5acb76b5d91c2..ef7a25818781af4ce4e1f1a63ab62abff8013ed4 100644 --- a/src/main/java/org/spigotmc/ActivationRange.java +++ b/src/main/java/org/spigotmc/ActivationRange.java @@ -297,7 +297,7 @@ public class ActivationRange if ( entity instanceof LivingEntity ) { LivingEntity living = (LivingEntity) entity; -- if ( living.onClimbable() || living.jumping || living.hurtTime > 0 || living.activeEffects.size() > 0 ) // Paper -+ if ( living.onClimbableCached() || living.jumping || living.hurtTime > 0 || living.activeEffects.size() > 0 ) // Paper // Gale - Airplane - cache on climbable check - use cached +- if ( living.onClimbable() || living.jumping || living.hurtTime > 0 || living.activeEffects.size() > 0 || living.isFreezing()) // Paper ++ if ( living.onClimbableCached() || living.jumping || living.hurtTime > 0 || living.activeEffects.size() > 0 || living.isFreezing()) // Paper // Gale - Airplane - cache on climbable check - use cached { return 1; // Paper } diff --git a/patches/server/0038-Remove-streams-and-iterators-from-range-check.patch b/patches/server/0038-Remove-streams-and-iterators-from-range-check.patch index 8ea707d..1e81c79 100644 --- a/patches/server/0038-Remove-streams-and-iterators-from-range-check.patch +++ b/patches/server/0038-Remove-streams-and-iterators-from-range-check.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/server/level/ChunkMap.java b/src/main/java/net/minecraft/server/level/ChunkMap.java -index 20e3e1a1bac6d97507f733a7fa57081998126ea4..7054f91b66a1bac9cd2ea9fd14c7ff94190cadcd 100644 +index 57bdaf48e7f1edc387d0ebbaada7b9643c2e8410..486ae8532fc0a3fb44cbb98bb0e2d042f38bf5bb 100644 --- a/src/main/java/net/minecraft/server/level/ChunkMap.java +++ b/src/main/java/net/minecraft/server/level/ChunkMap.java -@@ -1456,8 +1456,30 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1451,8 +1451,30 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider return ChunkMap.this.level.getServer().getScaledTrackingDistance(initialDistance); } @@ -65,7 +65,7 @@ index 20e3e1a1bac6d97507f733a7fa57081998126ea4..7054f91b66a1bac9cd2ea9fd14c7ff94 Iterator iterator = this.entity.getIndirectPassengers().iterator(); while (iterator.hasNext()) { -@@ -1469,6 +1491,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider +@@ -1464,6 +1486,9 @@ public class ChunkMap extends ChunkStorage implements ChunkHolder.PlayerProvider i = j; } } diff --git a/patches/server/0041-Remove-lambda-from-ticking-guard.patch b/patches/server/0041-Remove-lambda-from-ticking-guard.patch index b16d912..e4c4de2 100644 --- a/patches/server/0041-Remove-lambda-from-ticking-guard.patch +++ b/patches/server/0041-Remove-lambda-from-ticking-guard.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index be1dbe955461823de7b3dbf032d399837be62ea9..1043f6e0567dd03dc8f6ef56d2c824493cf8c40e 100644 +index 7212d15b58d9045bd4a30d11a3dac5eb395d00df..b1e45275dd05d2d7ea163582354575bd0c896f8a 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -895,7 +895,20 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -900,7 +900,20 @@ public class ServerLevel extends Level implements WorldGenLevel { entity.stopRiding(); } @@ -57,10 +57,10 @@ index be1dbe955461823de7b3dbf032d399837be62ea9..1043f6e0567dd03dc8f6ef56d2c82449 } } diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 7c4d29ccf8a79bc517f12bb317f1b092b9b6772f..66d4a979e574035de7a7776946d13853c77bb783 100644 +index 554a6c088d10e129cdbb7c2ca1f8c0757c0568fa..6d5a7d4609ec9068c60ac29a8fad2807d0abd48c 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java -@@ -1324,13 +1324,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1329,13 +1329,13 @@ public abstract class Level implements LevelAccessor, AutoCloseable { try { tickConsumer.accept(entity); MinecraftServer.getServer().executeMidTickTasks(); // Paper - execute chunk tasks mid tick diff --git a/patches/server/0042-Reduce-entity-fluid-lookups-if-no-fluids.patch b/patches/server/0042-Reduce-entity-fluid-lookups-if-no-fluids.patch index 92dcc8f..8ae484f 100644 --- a/patches/server/0042-Reduce-entity-fluid-lookups-if-no-fluids.patch +++ b/patches/server/0042-Reduce-entity-fluid-lookups-if-no-fluids.patch @@ -31,10 +31,10 @@ You should have received a copy of the GNU General Public License along with this program. If not, see . diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index af4076be9307e0e431feac1b2d841f8e1aa73691..49ee23e78da2074c21f9027905bada553b432c5e 100644 +index 5724f794b898f439a0f0929bbf2937b3b9de1a9f..f06db4f9cdddcbedaa3cb047ed4dd81be8547f13 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4383,16 +4383,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4394,16 +4394,18 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public boolean updateFluidHeightAndDoFluidPushing(TagKey tag, double speed) { @@ -60,7 +60,7 @@ index af4076be9307e0e431feac1b2d841f8e1aa73691..49ee23e78da2074c21f9027905bada55 double d1 = 0.0D; boolean flag = this.isPushedByFluid(); boolean flag1 = false; -@@ -4400,14 +4402,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4411,14 +4413,61 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S int k1 = 0; BlockPos.MutableBlockPos blockposition_mutableblockposition = new BlockPos.MutableBlockPos(); @@ -128,7 +128,7 @@ index af4076be9307e0e431feac1b2d841f8e1aa73691..49ee23e78da2074c21f9027905bada55 if (d2 >= axisalignedbb.minY) { flag1 = true; -@@ -4429,9 +4478,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4440,9 +4489,12 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S // CraftBukkit end } } diff --git a/patches/server/0044-Make-book-writing-configurable.patch b/patches/server/0044-Make-book-writing-configurable.patch index 5aa53ee..36d70d4 100644 --- a/patches/server/0044-Make-book-writing-configurable.patch +++ b/patches/server/0044-Make-book-writing-configurable.patch @@ -22,7 +22,7 @@ you to easily disable books, should you want to preemptively remove this functionality before additional exploits are found. diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 30ccbab1586a656e0ae41d7406525fb02d9e025b..ec436869418f7c983d635e662b7c0d9eb77c6d13 100644 +index 8b630fc4da8a7fda08c416e70c22463f04c3b6b5..da7f7a6eda29b26bd17c2e23e2752746efd12b08 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -186,6 +186,8 @@ import net.minecraft.world.phys.Vec3; @@ -34,7 +34,7 @@ index 30ccbab1586a656e0ae41d7406525fb02d9e025b..ec436869418f7c983d635e662b7c0d9e import org.slf4j.Logger; // CraftBukkit start -@@ -1124,6 +1126,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1122,6 +1124,11 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl @Override public void handleEditBook(ServerboundEditBookPacket packet) { diff --git a/patches/server/0054-Do-not-process-chat-commands-before-player-has-joine.patch b/patches/server/0054-Do-not-process-chat-commands-before-player-has-joine.patch index c2af475..cf2d1d1 100644 --- a/patches/server/0054-Do-not-process-chat-commands-before-player-has-joine.patch +++ b/patches/server/0054-Do-not-process-chat-commands-before-player-has-joine.patch @@ -13,7 +13,7 @@ As part of: EmpireCraft (https://github.com/starlis/empirecraft) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 5ed738854aebc3ca56dfba72e91971593c7a0db9..9701f93f0b6c51b01b05a54ed7482dbff75d9e8e 100644 +index fe1a1947da61170c0920e67b103c5c78f4c5cfcb..198c49244eb4245cd284ae9397a90c185cb479fc 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -275,6 +275,7 @@ public class ServerPlayer extends Player { @@ -25,10 +25,10 @@ index 5ed738854aebc3ca56dfba72e91971593c7a0db9..9701f93f0b6c51b01b05a54ed7482dbf 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/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index ec436869418f7c983d635e662b7c0d9eb77c6d13..6f3d36758bbeb6a5f0c3d7681fa09d09ce25a721 100644 +index da7f7a6eda29b26bd17c2e23e2752746efd12b08..13b54b98d1c1818e644291272a1a622d56fc317d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -@@ -2274,6 +2274,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2278,6 +2278,10 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl if (this.player.isRemoved() || this.player.getChatVisibility() == ChatVisiblity.HIDDEN) { // CraftBukkit - dead men tell no tales this.send(new ClientboundSystemChatPacket(Component.translatable("chat.disabled.options").withStyle(ChatFormatting.RED), false)); return Optional.empty(); @@ -40,7 +40,7 @@ index ec436869418f7c983d635e662b7c0d9eb77c6d13..6f3d36758bbeb6a5f0c3d7681fa09d09 this.player.resetLastActionTime(); return optional; diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index a35638a92479b90afa89cf201fc45b49c9e767f3..05eaf2174e055bb78c58c8c2a2b51b17c898ff47 100644 +index e98a455b6bca9d094d0da323bddd7b3f2c07bb23..75b9b73b7938816337a4ba7a65cb631051498751 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -347,6 +347,8 @@ public abstract class PlayerList { diff --git a/patches/server/0056-Do-not-log-empty-message-warnings.patch b/patches/server/0056-Do-not-log-empty-message-warnings.patch index 50fccec..cf47a44 100644 --- a/patches/server/0056-Do-not-log-empty-message-warnings.patch +++ b/patches/server/0056-Do-not-log-empty-message-warnings.patch @@ -7,7 +7,7 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 6f3d36758bbeb6a5f0c3d7681fa09d09ce25a721..7333a7302d295f4b085e636ce800090d26982f0d 100644 +index 13b54b98d1c1818e644291272a1a622d56fc317d..b2c8ab298d79399b7aa19496bc22356030ae40ce 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -187,6 +187,7 @@ import net.minecraft.world.phys.shapes.BooleanOp; @@ -18,7 +18,7 @@ index 6f3d36758bbeb6a5f0c3d7681fa09d09ce25a721..7333a7302d295f4b085e636ce800090d import org.galemc.gale.configuration.GaleGlobalConfiguration; import org.slf4j.Logger; -@@ -2440,7 +2441,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2447,7 +2448,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // CraftBukkit start String s = message.signedContent(); if (s.isEmpty()) { diff --git a/patches/server/0063-Do-not-log-Not-Secure-marker.patch b/patches/server/0063-Do-not-log-Not-Secure-marker.patch index 4ec848f..7631cda 100644 --- a/patches/server/0063-Do-not-log-Not-Secure-marker.patch +++ b/patches/server/0063-Do-not-log-Not-Secure-marker.patch @@ -28,7 +28,7 @@ index e4fd372a1d585887287253a02531cd192929377b..397f985756c5bc6c11a32c844d536000 } diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 05eaf2174e055bb78c58c8c2a2b51b17c898ff47..206f179a4c6ea8eab75200ee72efb21e29d28a53 100644 +index 75b9b73b7938816337a4ba7a65cb631051498751..b4baebee042e3287fa24f3865c1ec01efbde6b3b 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -100,6 +100,7 @@ import net.minecraft.world.phys.Vec3; @@ -39,7 +39,7 @@ index 05eaf2174e055bb78c58c8c2a2b51b17c898ff47..206f179a4c6ea8eab75200ee72efb21e import org.slf4j.Logger; // CraftBukkit start -@@ -1427,7 +1428,7 @@ public abstract class PlayerList { +@@ -1433,7 +1434,7 @@ public abstract class PlayerList { // Paper end boolean flag = this.verifyChatTrusted(message); diff --git a/patches/server/0072-Fix-cow-rotation-when-shearing-mooshroom.patch b/patches/server/0072-Fix-cow-rotation-when-shearing-mooshroom.patch index 8e0caf9..94f28ab 100644 --- a/patches/server/0072-Fix-cow-rotation-when-shearing-mooshroom.patch +++ b/patches/server/0072-Fix-cow-rotation-when-shearing-mooshroom.patch @@ -37,10 +37,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -index e42b0b19019ef74733fd19b08f882cccff920142..d3982fc50ab87f64893ae5838d0256576912d311 100644 +index a7e8b544d7b05efe95182a03cabaf1993da9d839..36cae2cddf9f4acec436338e81576b122d209d89 100644 --- a/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java +++ b/src/main/java/net/minecraft/world/entity/animal/MushroomCow.java -@@ -176,12 +176,21 @@ public class MushroomCow extends Cow implements Shearable, VariantHolder optionspec9 = optionparser.accepts("world").withRequiredArg(); OptionSpec optionspec10 = optionparser.accepts("port").withRequiredArg().ofType(Integer.class).defaultsTo(-1, new Integer[0]); OptionSpec optionspec11 = optionparser.accepts("serverId").withRequiredArg(); -diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 557bfd1405603d1cd7e5210e406e63283947179b..7c691b953d66c9fb7a1f372ac885285ed55d9979 100644 ---- a/src/main/java/net/minecraft/server/MinecraftServer.java -+++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -51,6 +51,8 @@ import java.util.stream.Collectors; - import java.util.stream.Stream; - import javax.annotation.Nullable; - import javax.imageio.ImageIO; -+ -+import me.titaniumtown.ArrayConstants; - import net.minecraft.CrashReport; - import net.minecraft.ReportedException; - import net.minecraft.SharedConstants; diff --git a/src/main/java/net/minecraft/server/level/ServerEntity.java b/src/main/java/net/minecraft/server/level/ServerEntity.java index e8bb35322d3204e6a126bc6df0beed3f931dae6d..6bfa866ce2b3dab86dcbaba9fdf52737d7883925 100644 --- a/src/main/java/net/minecraft/server/level/ServerEntity.java @@ -416,7 +403,7 @@ index e8bb35322d3204e6a126bc6df0beed3f931dae6d..6bfa866ce2b3dab86dcbaba9fdf52737 for (int j = 0; j < i; ++j) { diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 1043f6e0567dd03dc8f6ef56d2c824493cf8c40e..902b9c144cdedabbc3dc489c8643351c2f31aabe 100644 +index b1e45275dd05d2d7ea163582354575bd0c896f8a..7d5e7545b995506ef554dbda70ec5eb8ccb24151 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java @@ -38,6 +38,8 @@ import java.util.stream.Collectors; @@ -428,7 +415,7 @@ index 1043f6e0567dd03dc8f6ef56d2c824493cf8c40e..902b9c144cdedabbc3dc489c8643351c import net.minecraft.CrashReport; import net.minecraft.CrashReportCategory; import net.minecraft.Util; -@@ -1045,7 +1047,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1050,7 +1052,7 @@ public class ServerLevel extends Level implements WorldGenLevel { BlockPos blockposition2 = blockposition.set(j + randomX, randomY, k + randomZ); BlockState iblockdata = com.destroystokyo.paper.util.maplist.IBlockDataList.getBlockDataFromRaw(raw); @@ -437,7 +424,7 @@ index 1043f6e0567dd03dc8f6ef56d2c824493cf8c40e..902b9c144cdedabbc3dc489c8643351c } // We drop the fluid tick since LAVA is ALREADY TICKED by the above method (See LiquidBlock). // TODO CHECK ON UPDATE (ping the Canadian) -@@ -1351,7 +1353,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1356,7 +1358,7 @@ public class ServerLevel extends Level implements WorldGenLevel { public static List getCurrentlyTickingEntities() { Entity ticking = currentlyTickingEntity.get(); @@ -447,7 +434,7 @@ index 1043f6e0567dd03dc8f6ef56d2c824493cf8c40e..902b9c144cdedabbc3dc489c8643351c return ret; } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 7333a7302d295f4b085e636ce800090d26982f0d..8b9fccee2f999836cb7550955ee4b38cde990286 100644 +index b2c8ab298d79399b7aa19496bc22356030ae40ce..5a2b43ea98478a67ad712980ee8e6dbe98871433 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -28,6 +28,8 @@ import java.util.function.UnaryOperator; @@ -476,7 +463,7 @@ index 7333a7302d295f4b085e636ce800090d26982f0d..8b9fccee2f999836cb7550955ee4b38c import org.bukkit.event.player.PlayerChatEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerInteractAtEntityEvent; -@@ -777,13 +776,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -775,13 +774,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // PacketUtils.ensureRunningOnSameThread(packet, this, this.player.serverLevel()); // Paper - run this async // CraftBukkit start if (this.chatSpamTickCount.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.tabSpamLimit && !this.server.getPlayerList().isOp(this.player.getGameProfile())) { // Paper start - split and make configurable @@ -492,7 +479,7 @@ index 7333a7302d295f4b085e636ce800090d26982f0d..8b9fccee2f999836cb7550955ee4b38c return; } // Paper end -@@ -3212,7 +3211,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3219,7 +3218,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl // Paper start if (!org.bukkit.Bukkit.isPrimaryThread()) { if (this.recipeSpamPackets.addAndGet(io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamIncrement) > io.papermc.paper.configuration.GlobalConfiguration.get().spamLimiter.recipeSpamLimit) { @@ -549,7 +536,7 @@ index 8d67d9fd8f6d09f86c1f4829dcfb74324f32920e..bf17b7b29fb7ae3283a24d1174c55a31 ServerConfigurationPacketListenerImpl serverconfigurationpacketlistenerimpl = new ServerConfigurationPacketListenerImpl(this.server, this.connection, commonlistenercookie, this.player); // CraftBukkit diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 2306d7aca29b3e399f152eb8470115e6f7bb172a..2cbdd62e7b8a40ccdc8622c35fd94ae60d083531 100644 +index 83eca7453559f182aa7e5fa735316be311e05e73..5eadc4ce30f77794f50b612549557f8b5d81f21a 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -25,6 +25,8 @@ import java.util.UUID; @@ -664,7 +651,7 @@ index bd599625de84f33c7dbff8242dd2ee6d6c137d82..8597b9b5b78bb5375a10caea691cd19a for (int j = 0; j < i; ++j) { diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index 5fa46974539fcfe3b344788c49e0be94228b1a6d..fc949fddb5864e4ed2cba4dad3ea5878d8a36b88 100644 +index 1cdacd42ea421833caef345a05fb53a8d93aec36..fe9fb934f9118f52e42109ff32e35f1dc95ffe09 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java @@ -1056,7 +1056,7 @@ public abstract class Mob extends LivingEntity implements Targeting { @@ -717,7 +704,7 @@ index 94396ad1a3c280787d36c6c18256d10340ace488..9e139c1291f40fd730754ac2427269b1 for (int j = 0; j < i; ++j) { diff --git a/src/main/java/net/minecraft/world/item/ItemStack.java b/src/main/java/net/minecraft/world/item/ItemStack.java -index de277d61b718fe07a87d75a2547bb1c7f8553aa1..2e451090791e1dd374bd54ae74eef617306e5f3e 100644 +index 5b8a1f31e0b55da15daa4ab271317e4393a87e96..ca037db7ea68ad01b4189154a38a01bf3351c7b3 100644 --- a/src/main/java/net/minecraft/world/item/ItemStack.java +++ b/src/main/java/net/minecraft/world/item/ItemStack.java @@ -1052,7 +1052,7 @@ public final class ItemStack { @@ -769,7 +756,7 @@ index 6c2e8049c2197ddc912c1a0fc99c87beae81e25b..a13822a22ab524a0fb9fd998c4ada06b private static Enchantment register(String name, Enchantment enchantment) { return Registry.register(BuiltInRegistries.ENCHANTMENT, name, enchantment); diff --git a/src/main/java/net/minecraft/world/level/Level.java b/src/main/java/net/minecraft/world/level/Level.java -index 66d4a979e574035de7a7776946d13853c77bb783..1bb82901903570ad8beb059110661d28b45dbacd 100644 +index 6d5a7d4609ec9068c60ac29a8fad2807d0abd48c..8b7dbd6bbd848c0cfb30fd91c600432d9dfc0fbf 100644 --- a/src/main/java/net/minecraft/world/level/Level.java +++ b/src/main/java/net/minecraft/world/level/Level.java @@ -12,6 +12,8 @@ import java.util.function.Consumer; @@ -781,7 +768,7 @@ index 66d4a979e574035de7a7776946d13853c77bb783..1bb82901903570ad8beb059110661d28 import net.minecraft.CrashReport; import net.minecraft.CrashReportCategory; import net.minecraft.core.BlockPos; -@@ -1846,7 +1848,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { +@@ -1851,7 +1853,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable { public org.bukkit.entity.Entity[] getChunkEntities(int chunkX, int chunkZ) { io.papermc.paper.world.ChunkEntitySlices slices = ((ServerLevel)this).getEntityLookup().getChunk(chunkX, chunkZ); if (slices == null) { diff --git a/patches/server/0081-Optimize-sun-burn-tick.patch b/patches/server/0081-Optimize-sun-burn-tick.patch index bf16b98..95df8c4 100644 --- a/patches/server/0081-Optimize-sun-burn-tick.patch +++ b/patches/server/0081-Optimize-sun-burn-tick.patch @@ -13,7 +13,7 @@ As part of: JettPack (https://gitlab.com/Titaniumtown/JettPack) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 0b5a8d55c2711f2e4609806edfbde91b0950bf90..ab0ef35432c030511df6802bed5f72959932393b 100644 +index e43cb3cf81be8dfdbb0cbe74835d676c301e9863..15a03c560dc546eaae54c6ca34fbe298adae77be 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -306,7 +306,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -25,7 +25,7 @@ index 0b5a8d55c2711f2e4609806edfbde91b0950bf90..ab0ef35432c030511df6802bed5f7295 public BlockPos blockPosition; // Gale - Pufferfish - optimize entity coordinate key - private -> public private ChunkPos chunkPosition; private Vec3 deltaMovement; -@@ -2000,9 +2000,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -2004,9 +2004,17 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S /** @deprecated */ @Deprecated public float getLightLevelDependentMagicValue() { @@ -45,10 +45,10 @@ index 0b5a8d55c2711f2e4609806edfbde91b0950bf90..ab0ef35432c030511df6802bed5f7295 this.absMoveTo(x, y, z); this.setYRot(yaw % 360.0F); diff --git a/src/main/java/net/minecraft/world/entity/Mob.java b/src/main/java/net/minecraft/world/entity/Mob.java -index fc949fddb5864e4ed2cba4dad3ea5878d8a36b88..db9aee68b644d318f65df010027b40628ea84ea2 100644 +index fe9fb934f9118f52e42109ff32e35f1dc95ffe09..ad6a159f5472059c1550c36dd98d83af01bbe31a 100644 --- a/src/main/java/net/minecraft/world/entity/Mob.java +++ b/src/main/java/net/minecraft/world/entity/Mob.java -@@ -1686,13 +1686,29 @@ public abstract class Mob extends LivingEntity implements Targeting { +@@ -1690,13 +1690,29 @@ public abstract class Mob extends LivingEntity implements Targeting { } diff --git a/patches/server/0089-Cache-BlockStatePairKey-hash.patch b/patches/server/0089-Cache-BlockStatePairKey-hash.patch index 17106b4..500ea0f 100644 --- a/patches/server/0089-Cache-BlockStatePairKey-hash.patch +++ b/patches/server/0089-Cache-BlockStatePairKey-hash.patch @@ -13,10 +13,10 @@ As part of: Lithium (https://github.com/CaffeineMC/lithium-fabric) Licensed under: LGPL-3.0 (https://www.gnu.org/licenses/lgpl-3.0.html) 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 4d50dd92a7f3187ee1d8edb926e7c273c8156549..2ccfb0456cbc42e79bbab49f0c01443ce1560d3a 100644 +index e21867d3956078bb0db4ceed45e5811e9acd7377..b424ba1e6e2735d1acb5e77c2cd4ff3fa03f294d 100644 --- a/src/main/java/net/minecraft/world/level/block/Block.java +++ b/src/main/java/net/minecraft/world/level/block/Block.java -@@ -606,11 +606,18 @@ public class Block extends BlockBehaviour implements ItemLike { +@@ -614,11 +614,18 @@ public class Block extends BlockBehaviour implements ItemLike { private final BlockState first; private final BlockState second; private final Direction direction; @@ -35,7 +35,7 @@ index 4d50dd92a7f3187ee1d8edb926e7c273c8156549..2ccfb0456cbc42e79bbab49f0c01443c } public boolean equals(Object object) { -@@ -626,11 +633,7 @@ public class Block extends BlockBehaviour implements ItemLike { +@@ -634,11 +641,7 @@ public class Block extends BlockBehaviour implements ItemLike { } public int hashCode() { diff --git a/patches/server/0101-Skip-entity-move-if-movement-is-zero.patch b/patches/server/0101-Skip-entity-move-if-movement-is-zero.patch index 390bcdf..1fb9a1f 100644 --- a/patches/server/0101-Skip-entity-move-if-movement-is-zero.patch +++ b/patches/server/0101-Skip-entity-move-if-movement-is-zero.patch @@ -13,7 +13,7 @@ As part of: VMP (https://github.com/RelativityMC/VMP-fabric) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ab0ef35432c030511df6802bed5f72959932393b..5c62ba693ad9596f55713b77b6f70cd703184719 100644 +index 15a03c560dc546eaae54c6ca34fbe298adae77be..b9e736bff38d275ce41d626910791ad38aabe128 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java @@ -315,6 +315,7 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S @@ -24,7 +24,7 @@ index ab0ef35432c030511df6802bed5f72959932393b..5c62ba693ad9596f55713b77b6f70cd7 public boolean onGround; public boolean horizontalCollision; public boolean verticalCollision; -@@ -1071,6 +1072,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -1075,6 +1076,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S // Paper end - detailed watchdog information public void move(MoverType movementType, Vec3 movement) { @@ -36,7 +36,7 @@ index ab0ef35432c030511df6802bed5f72959932393b..5c62ba693ad9596f55713b77b6f70cd7 // Paper start - detailed watchdog information io.papermc.paper.util.TickThread.ensureTickThread("Cannot move an entity off-main"); synchronized (this.posLock) { -@@ -4071,6 +4077,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4075,6 +4081,11 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S } public final void setBoundingBox(AABB boundingBox) { diff --git a/patches/server/0105-Optimize-sheep-offspring-color.patch b/patches/server/0105-Optimize-sheep-offspring-color.patch index 36910db..ac321cd 100644 --- a/patches/server/0105-Optimize-sheep-offspring-color.patch +++ b/patches/server/0105-Optimize-sheep-offspring-color.patch @@ -46,10 +46,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/net/minecraft/world/entity/animal/Sheep.java b/src/main/java/net/minecraft/world/entity/animal/Sheep.java -index 55afa58f3df53ce548c7484d8fff62c903f9dc07..ba33c7047c4039691ac4e85400ac305185dcffd4 100644 +index 1d80678f7e8f658e43616f0baf723f096a99122a..865f244de1605303f22d8944174b0fe00115cab0 100644 --- a/src/main/java/net/minecraft/world/entity/animal/Sheep.java +++ b/src/main/java/net/minecraft/world/entity/animal/Sheep.java -@@ -394,7 +394,59 @@ public class Sheep extends Animal implements Shearable { +@@ -418,7 +418,59 @@ public class Sheep extends Animal implements Shearable { return super.finalizeSpawn(world, difficulty, spawnReason, entityData, entityNbt); } diff --git a/patches/server/0106-Hide-flames-on-entities-with-fire-resistance.patch b/patches/server/0106-Hide-flames-on-entities-with-fire-resistance.patch index 36a27b4..be79787 100644 --- a/patches/server/0106-Hide-flames-on-entities-with-fire-resistance.patch +++ b/patches/server/0106-Hide-flames-on-entities-with-fire-resistance.patch @@ -13,10 +13,10 @@ As part of: Slice (https://github.com/Cryptite/Slice) Licensed under: MIT (https://opensource.org/licenses/MIT) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 5c62ba693ad9596f55713b77b6f70cd703184719..4d1967f77826d6342e8a8ddbf93b27a30696957d 100644 +index b9e736bff38d275ce41d626910791ad38aabe128..30ce82ac25fb5f93d01b0088822355c78383507e 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -873,7 +873,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -877,7 +877,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S this.checkBelowWorld(); if (!this.level().isClientSide) { diff --git a/patches/server/0108-Reduce-block-destruction-packet-allocations.patch b/patches/server/0108-Reduce-block-destruction-packet-allocations.patch index 854a385..dfbc2bd 100644 --- a/patches/server/0108-Reduce-block-destruction-packet-allocations.patch +++ b/patches/server/0108-Reduce-block-destruction-packet-allocations.patch @@ -13,10 +13,10 @@ As part of: SportPaper (https://github.com/Electroid/SportPaper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/server/level/ServerLevel.java b/src/main/java/net/minecraft/server/level/ServerLevel.java -index 902b9c144cdedabbc3dc489c8643351c2f31aabe..b19571f838469dcaba5ecee06fe43de23bcdc776 100644 +index 7d5e7545b995506ef554dbda70ec5eb8ccb24151..56ee1c3061c854d9b3fdd096c4c70eee909f0f74 100644 --- a/src/main/java/net/minecraft/server/level/ServerLevel.java +++ b/src/main/java/net/minecraft/server/level/ServerLevel.java -@@ -1752,7 +1752,17 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1758,7 +1758,17 @@ public class ServerLevel extends Level implements WorldGenLevel { @Override public void destroyBlockProgress(int entityId, BlockPos pos, int progress) { @@ -35,7 +35,7 @@ index 902b9c144cdedabbc3dc489c8643351c2f31aabe..b19571f838469dcaba5ecee06fe43de2 // CraftBukkit start Player entityhuman = null; -@@ -1775,7 +1785,7 @@ public class ServerLevel extends Level implements WorldGenLevel { +@@ -1781,7 +1791,7 @@ public class ServerLevel extends Level implements WorldGenLevel { // CraftBukkit end if (d0 * d0 + d1 * d1 + d2 * d2 < 1024.0D) { diff --git a/patches/server/0109-Spread-out-sending-all-player-info.patch b/patches/server/0109-Spread-out-sending-all-player-info.patch index 2e61256..6a0e7c8 100644 --- a/patches/server/0109-Spread-out-sending-all-player-info.patch +++ b/patches/server/0109-Spread-out-sending-all-player-info.patch @@ -37,7 +37,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 2cbdd62e7b8a40ccdc8622c35fd94ae60d083531..81eb658675ffaf0ee61bf7e04a02dd0c8a2d3da3 100644 +index 5eadc4ce30f77794f50b612549557f8b5d81f21a..45ed45e636421cc49d78f05a0e75c9a88f13c112 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java @@ -13,6 +13,8 @@ import java.net.SocketAddress; @@ -94,8 +94,8 @@ index 2cbdd62e7b8a40ccdc8622c35fd94ae60d083531..81eb658675ffaf0ee61bf7e04a02dd0c this.playersByName.put(entityplayer1.getScoreboardName().toLowerCase(java.util.Locale.ROOT), entityplayer1); // Spigot this.playersByUUID.put(entityplayer1.getUUID(), entityplayer1); } -@@ -1020,20 +1027,55 @@ public abstract class PlayerList { - this.sendPlayerPermissionLevel(player, i); +@@ -1026,20 +1033,55 @@ public abstract class PlayerList { + this.sendPlayerPermissionLevel(player, i, recalculatePermissions); // Paper - avoid recalculating permissions if possible } - public void tick() { @@ -157,7 +157,7 @@ index 2cbdd62e7b8a40ccdc8622c35fd94ae60d083531..81eb658675ffaf0ee61bf7e04a02dd0c } diff --git a/src/main/java/net/minecraft/world/entity/player/Player.java b/src/main/java/net/minecraft/world/entity/player/Player.java -index 5005d9ba125fb96900c01098a9a2e5f5d7a5cba6..b6c2044d9688c352b96a81c8d0abc4028fbe0ad1 100644 +index 544b610f7c42a57099115fb5f76245f6c7a6eca3..d96e4d710ceedb80e1c12c88705181eb12975ca7 100644 --- a/src/main/java/net/minecraft/world/entity/player/Player.java +++ b/src/main/java/net/minecraft/world/entity/player/Player.java @@ -39,6 +39,7 @@ import net.minecraft.network.syncher.SynchedEntityData; diff --git a/patches/server/0110-Optimize-player-list-for-sending-player-info.patch b/patches/server/0110-Optimize-player-list-for-sending-player-info.patch index 795ffe9..3429222 100644 --- a/patches/server/0110-Optimize-player-list-for-sending-player-info.patch +++ b/patches/server/0110-Optimize-player-list-for-sending-player-info.patch @@ -37,10 +37,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/net/minecraft/server/players/PlayerList.java b/src/main/java/net/minecraft/server/players/PlayerList.java -index 81eb658675ffaf0ee61bf7e04a02dd0c8a2d3da3..4ffccef1c0c2646923e8016ddefc78a604b25f63 100644 +index 45ed45e636421cc49d78f05a0e75c9a88f13c112..908166ab8afd41a67493eb7c2ad574c327e200bf 100644 --- a/src/main/java/net/minecraft/server/players/PlayerList.java +++ b/src/main/java/net/minecraft/server/players/PlayerList.java -@@ -1063,14 +1063,18 @@ public abstract class PlayerList { +@@ -1069,14 +1069,18 @@ public abstract class PlayerList { // Gale start - Purpur - spread out sending all player info ServerPlayer[] sendAllPlayerInfoBucket = this.sendAllPlayerInfoBuckets[this.sendAllPlayerInfoIn]; if (sendAllPlayerInfoBucket != null) { diff --git a/patches/server/0111-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch b/patches/server/0111-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch index 8f42214..20a29a1 100644 --- a/patches/server/0111-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch +++ b/patches/server/0111-Skip-PlayerCommandSendEvent-if-there-are-no-listener.patch @@ -37,10 +37,10 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/src/main/java/net/minecraft/commands/Commands.java b/src/main/java/net/minecraft/commands/Commands.java -index e0a149b2bc29b3aab7be10798f6a0978f9381c07..f609e2a61a1362b0cc15fbb4e81ca66fd67eff6c 100644 +index 9d25fcd598517871eb260dff3d208e3b4ec33251..1aac80a41abb983d10a9999653b9611d84e7217d 100644 --- a/src/main/java/net/minecraft/commands/Commands.java +++ b/src/main/java/net/minecraft/commands/Commands.java -@@ -509,6 +509,7 @@ public class Commands { +@@ -500,6 +500,7 @@ public class Commands { private void runSync(ServerPlayer player, Collection bukkit, RootCommandNode rootcommandnode) { // Paper end - Async command map building new com.destroystokyo.paper.event.brigadier.AsyncPlayerSendCommandsEvent(player.getBukkitEntity(), (RootCommandNode) rootcommandnode, false).callEvent(); // Paper @@ -48,7 +48,7 @@ index e0a149b2bc29b3aab7be10798f6a0978f9381c07..f609e2a61a1362b0cc15fbb4e81ca66f PlayerCommandSendEvent event = new PlayerCommandSendEvent(player.getBukkitEntity(), new LinkedHashSet<>(bukkit)); event.getPlayer().getServer().getPluginManager().callEvent(event); -@@ -519,6 +520,7 @@ public class Commands { +@@ -510,6 +511,7 @@ public class Commands { } } // CraftBukkit end diff --git a/patches/server/0112-Send-multiple-keep-alive-packets.patch b/patches/server/0112-Send-multiple-keep-alive-packets.patch index 7c4999e..0013805 100644 --- a/patches/server/0112-Send-multiple-keep-alive-packets.patch +++ b/patches/server/0112-Send-multiple-keep-alive-packets.patch @@ -129,7 +129,7 @@ index 9e014a140262f5dfcdcb9b21afd18ca275930bb2..e716cbde9bbf3837b614ea1ddd4f8811 } diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 8b9fccee2f999836cb7550955ee4b38cde990286..347b1d225d2e7084d13ea9a633f50e08bf8e58b4 100644 +index 5a2b43ea98478a67ad712980ee8e6dbe98871433..9583caa7434a20c1c5d1bbd601aec988d2dfb97b 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -8,6 +8,8 @@ import com.mojang.brigadier.StringReader; @@ -141,7 +141,7 @@ index 8b9fccee2f999836cb7550955ee4b38cde990286..347b1d225d2e7084d13ea9a633f50e08 import it.unimi.dsi.fastutil.objects.Object2ObjectOpenHashMap; import it.unimi.dsi.fastutil.objects.ObjectIterator; import java.net.SocketAddress; -@@ -3404,6 +3406,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -3411,6 +3413,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl } @Override diff --git a/patches/server/0114-Make-max-interaction-distance-configurable.patch b/patches/server/0114-Make-max-interaction-distance-configurable.patch index 21ad41b..ac255a2 100644 --- a/patches/server/0114-Make-max-interaction-distance-configurable.patch +++ b/patches/server/0114-Make-max-interaction-distance-configurable.patch @@ -7,7 +7,7 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java -index 58f972832c39a27a8ccd606f9144e1c54adbf6f3..c0b368b8137ca6d90c4e6ec931e07b7ea69f8d9b 100644 +index a0d69082f5fdeee15bba0d76b940aa48cff36fa9..bda773986fbe422840874e0934f805a5c2ffab21 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayerGameMode.java @@ -174,7 +174,7 @@ public class ServerPlayerGameMode { @@ -20,7 +20,7 @@ index 58f972832c39a27a8ccd606f9144e1c54adbf6f3..c0b368b8137ca6d90c4e6ec931e07b7e this.debugLogging(pos, false, sequence, "too far"); } else if (pos.getY() >= worldHeight) { diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java -index 347b1d225d2e7084d13ea9a633f50e08bf8e58b4..7b955100e39a935259887475278b24cf29905577 100644 +index 9583caa7434a20c1c5d1bbd601aec988d2dfb97b..02b80a9ecfffb83f05c9a36c91c9508cada0062d 100644 --- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java @@ -251,7 +251,7 @@ import org.bukkit.inventory.SmithingInventory; @@ -32,8 +32,8 @@ index 347b1d225d2e7084d13ea9a633f50e08bf8e58b4..7b955100e39a935259887475278b24cf private static final int NO_BLOCK_UPDATES_TO_ACK = -1; private static final int TRACKED_MESSAGE_DISCONNECT_THRESHOLD = 4096; private static final Component CHAT_VALIDATION_FAILED = Component.translatable("multiplayer.disconnect.chat_validation_failed"); -@@ -330,6 +330,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl - private boolean hasMoved; // Spigot +@@ -329,6 +329,13 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl + private boolean justTeleported = false; // CraftBukkit end + // Gale start - make max interaction distance configurable @@ -46,7 +46,7 @@ index 347b1d225d2e7084d13ea9a633f50e08bf8e58b4..7b955100e39a935259887475278b24cf @Override public void tick() { if (this.ackBlockChangesUpTo > -1) { -@@ -1928,7 +1935,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -1932,7 +1939,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl BlockPos blockposition = movingobjectpositionblock.getBlockPos(); Vec3 vec3d1 = Vec3.atCenterOf(blockposition); @@ -55,7 +55,7 @@ index 347b1d225d2e7084d13ea9a633f50e08bf8e58b4..7b955100e39a935259887475278b24cf Vec3 vec3d2 = vec3d.subtract(vec3d1); double d0 = 1.0000001D; -@@ -2713,7 +2720,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl +@@ -2720,7 +2727,7 @@ public class ServerGamePacketListenerImpl extends ServerCommonPacketListenerImpl AABB axisalignedbb = entity.getBoundingBox(); diff --git a/patches/server/0115-Load-portal-destination-chunk-before-entity-teleport.patch b/patches/server/0115-Load-portal-destination-chunk-before-entity-teleport.patch index b9c1cb6..4d4f2c0 100644 --- a/patches/server/0115-Load-portal-destination-chunk-before-entity-teleport.patch +++ b/patches/server/0115-Load-portal-destination-chunk-before-entity-teleport.patch @@ -13,10 +13,10 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index 4d1967f77826d6342e8a8ddbf93b27a30696957d..ba19a07f4ba63eac03080e1e9f8e7b594fd09ec4 100644 +index 30ce82ac25fb5f93d01b0088822355c78383507e..c5b8b8cf9be9e9088877562a3994be9d7f988cc9 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -3692,6 +3692,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -3696,6 +3696,13 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S Entity entity = this.getType().create(worldserver); if (entity != null) { diff --git a/patches/server/0117-Don-t-load-chunks-to-activate-climbing-entities.patch b/patches/server/0117-Don-t-load-chunks-to-activate-climbing-entities.patch index b037267..34d2838 100644 --- a/patches/server/0117-Don-t-load-chunks-to-activate-climbing-entities.patch +++ b/patches/server/0117-Don-t-load-chunks-to-activate-climbing-entities.patch @@ -7,10 +7,10 @@ License: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) Gale - https://galemc.org diff --git a/src/main/java/net/minecraft/world/entity/Entity.java b/src/main/java/net/minecraft/world/entity/Entity.java -index ba19a07f4ba63eac03080e1e9f8e7b594fd09ec4..af76dce896661dd08baec2cb4feb10c3a90304cd 100644 +index c5b8b8cf9be9e9088877562a3994be9d7f988cc9..5d39f7b7e9fb7a51245e399f0a828e7810b7b51b 100644 --- a/src/main/java/net/minecraft/world/entity/Entity.java +++ b/src/main/java/net/minecraft/world/entity/Entity.java -@@ -4602,6 +4602,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S +@@ -4613,6 +4613,16 @@ public abstract class Entity implements Nameable, EntityAccess, CommandSource, S return this.feetBlockState; } diff --git a/patches/server/0118-Broadcast-crit-animations-as-the-entity-being-critte.patch b/patches/server/0118-Broadcast-crit-animations-as-the-entity-being-critte.patch index fc16f13..3a76b07 100644 --- a/patches/server/0118-Broadcast-crit-animations-as-the-entity-being-critte.patch +++ b/patches/server/0118-Broadcast-crit-animations-as-the-entity-being-critte.patch @@ -13,10 +13,10 @@ As part of: MultiPaper (https://github.com/MultiPaper/MultiPaper) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 9701f93f0b6c51b01b05a54ed7482dbff75d9e8e..6f03370c6c05cbbbadf28f19c4263ded15b559d7 100644 +index 198c49244eb4245cd284ae9397a90c185cb479fc..ec7276916e568f820baf9831f29b14fc9f42c1c0 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2017,12 +2017,18 @@ public class ServerPlayer extends Player { +@@ -2018,12 +2018,18 @@ public class ServerPlayer extends Player { @Override public void crit(Entity target) { diff --git a/patches/server/0126-5-second-TPS-average.patch b/patches/server/0126-5-second-TPS-average.patch index a772a29..cd8571c 100644 --- a/patches/server/0126-5-second-TPS-average.patch +++ b/patches/server/0126-5-second-TPS-average.patch @@ -59,10 +59,10 @@ index 066b9e4c4f0e7773548eda045cdd1ca8445221d2..6be80b8dfd28a5e25a7f6ae603d8510e setListData(vector); } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 7c691b953d66c9fb7a1f372ac885285ed55d9979..073b27e5133b9832e7ac233cd0420200f9a49164 100644 +index 557bfd1405603d1cd7e5210e406e63283947179b..69f2d3bb9ec491d3953b84619c7b0067f844e3a1 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java -@@ -1058,6 +1058,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop implements ServerInfo, CommandSource, AutoCloseable { @@ -19,7 +19,7 @@ index 3a081a25d7580e7b60f2b8c17d9388530ae2efe6..f1bf143d5a97a4afbba6b2e7c07a5f46 private static MinecraftServer SERVER; // Paper public static final Logger LOGGER = LogUtils.getLogger(); public static final net.kyori.adventure.text.logger.slf4j.ComponentLogger COMPONENT_LOGGER = net.kyori.adventure.text.logger.slf4j.ComponentLogger.logger(LOGGER.getName()); // Paper -@@ -316,6 +318,11 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop