diff --git a/gradle.properties b/gradle.properties index 1a0d3ca..934dab7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -9,7 +9,7 @@ release=true # true for push to repo, false for skip push repo, auto for detect by release value pushRepo=auto -luminolRef=2a3c21971bf030511823915c8b8d537f6d5963eb +luminolRef=d12fac3eed982361b702039413c76cb7a29bf5c0 org.gradle.configuration-cache=true org.gradle.caching=true diff --git a/lophine-server/luminol-patches/features/0004-Leaves-Fakeplayer.patch b/lophine-server/luminol-patches/features/0004-Leaves-Fakeplayer.patch index 7879a5e..2da6128 100644 --- a/lophine-server/luminol-patches/features/0004-Leaves-Fakeplayer.patch +++ b/lophine-server/luminol-patches/features/0004-Leaves-Fakeplayer.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Leaves: Fakeplayer diff --git a/src/main/java/me/earthme/luminol/utils/FoliaServerWaypointManager.java b/src/main/java/me/earthme/luminol/utils/FoliaServerWaypointManager.java -index 389a31b14912a2dfc8e8b20c104505d211d7f8ad..04b9e3a432181c9698e1a4c147b420c230b66a36 100644 +index a4c188f71564fc77a9fa22b4cae032e1919d06f2..019266803f1452cb1e76350da8edae10a77020ac 100644 --- a/src/main/java/me/earthme/luminol/utils/FoliaServerWaypointManager.java +++ b/src/main/java/me/earthme/luminol/utils/FoliaServerWaypointManager.java -@@ -55,6 +55,12 @@ public class FoliaServerWaypointManager extends ServerWaypointManager { +@@ -54,6 +54,12 @@ public class FoliaServerWaypointManager extends ServerWaypointManager { return; } @@ -21,16 +21,15 @@ index 389a31b14912a2dfc8e8b20c104505d211d7f8ad..04b9e3a432181c9698e1a4c147b420c2 this.waypoints.add(waypoint); for (ServerPlayer toCreateFor : this.trackingPlayers) { -@@ -111,6 +117,12 @@ public class FoliaServerWaypointManager extends ServerWaypointManager { - scheduleIfOffTarget(player, () -> { - this.trackingPlayers.add(player); +@@ -110,6 +116,11 @@ public class FoliaServerWaypointManager extends ServerWaypointManager { + this.trackingPlayers.add(player); + scheduleIfOffTarget(player, () -> { + // Leaves start - fakeplayer + if (player instanceof org.leavesmc.leaves.bot.ServerBot) { + return; + } + // Leaves end - fakeplayer -+ for (WaypointTransmitter transmitter : this.waypoints) { this.createConnection(player, transmitter); } diff --git a/lophine-server/minecraft-patches/features/0001-Server-I18n.patch b/lophine-server/minecraft-patches/features/0001-Server-I18n.patch index 6b9ba9e..9827637 100644 --- a/lophine-server/minecraft-patches/features/0001-Server-I18n.patch +++ b/lophine-server/minecraft-patches/features/0001-Server-I18n.patch @@ -39,7 +39,7 @@ index 143ad4e342b184aa02b6fbbe81508e244eebc7a2..89be42b8519522398920eb424c894fd2 String awtException = io.papermc.paper.util.ServerEnvironment.awtDependencyCheck(); if (awtException != null) { diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java -index 3707b03b6d7ebdf47a38f4feff5b738eb41f38e1..1bc1e9a77dca7acfe5f989f6439f185d0d2e20a6 100644 +index dfac07850b02abba160f8f143eba4569172ab9e9..fcd4b4785f0d09f87fe214202468c75395157e14 100644 --- a/net/minecraft/server/dedicated/DedicatedServer.java +++ b/net/minecraft/server/dedicated/DedicatedServer.java @@ -283,6 +283,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface diff --git a/lophine-server/minecraft-patches/features/0003-Purpur-Barrels-and-enderchests-6-rows.patch b/lophine-server/minecraft-patches/features/0003-Purpur-Barrels-and-enderchests-6-rows.patch index cd450b1..45f151b 100644 --- a/lophine-server/minecraft-patches/features/0003-Purpur-Barrels-and-enderchests-6-rows.patch +++ b/lophine-server/minecraft-patches/features/0003-Purpur-Barrels-and-enderchests-6-rows.patch @@ -8,10 +8,10 @@ As part of: Purpur (https://github.com/PurpurMC/Purpur/blob/dc46f46d28dcdcaf33bb Licensed under: MIT (https://github.com/PurpurMC/Purpur/blob/dc46f46d28dcdcaf33bb533f9571a107db98c1d7/LICENSE) diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 63b81f30b8d813a7986ae72842fdc2d3097fa103..527c495bb4f6007aee760b99cc0e9aa589931f4b 100644 +index c9d3b000a328fe3583a7053a94c72dc003c1e10c..45e5ac1e8e2ec30935e96fa20d18e77bbd0e20bd 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -961,6 +961,10 @@ public abstract class PlayerList { +@@ -963,6 +963,10 @@ public abstract class PlayerList { player.getBukkitEntity().recalculatePermissions(); // CraftBukkit this.server.getCommands().sendCommands(player); } // Paper - Add sendOpLevel API @@ -23,10 +23,10 @@ index 63b81f30b8d813a7986ae72842fdc2d3097fa103..527c495bb4f6007aee760b99cc0e9aa5 // Paper start - whitelist verify event / login event diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java -index 1413286ddc63c5978e745eb26f6012230e4b1cd6..234124cc64e5175c20f9e9f0f482c9c677bca563 100644 +index 592ce8beb28ebe8aaac2ed167abb24148afb0bc3..ce8ab4b7eee5e0715e780d189d2f6554c5a9dc3c 100644 --- a/net/minecraft/world/entity/player/Player.java +++ b/net/minecraft/world/entity/player/Player.java -@@ -174,6 +174,7 @@ public abstract class Player extends Avatar implements ContainerUser { +@@ -175,6 +175,7 @@ public abstract class Player extends Avatar implements ContainerUser { public float hurtDir; public boolean affectsSpawning = true; // Paper - Affects Spawning API public net.kyori.adventure.util.TriState flyingFallDamage = net.kyori.adventure.util.TriState.NOT_SET; // Paper - flying fall damage diff --git a/lophine-server/minecraft-patches/features/0005-Add-config-to-enable-cross-region-damage-trace.patch b/lophine-server/minecraft-patches/features/0005-Add-config-to-enable-cross-region-damage-trace.patch index e03cd25..3aaa7a3 100644 --- a/lophine-server/minecraft-patches/features/0005-Add-config-to-enable-cross-region-damage-trace.patch +++ b/lophine-server/minecraft-patches/features/0005-Add-config-to-enable-cross-region-damage-trace.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Add config to enable cross region damage trace diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index fecab5bfbc35fbecef8c559369de70c198bfe1e7..338e0c7c09120c6e9617893dd074cbd5da40a093 100644 +index ad50feba5cbc5fe904850e6da06a866eeb23b519..f7869f06ab29e4bbd003c807176345dec9e9e5ab 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -1464,6 +1464,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1467,6 +1467,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc this.awardStat(Stats.ENTITY_KILLED_BY.get(killer.getType())); killer.awardKillScore(this, source); this.createWitherRose(killer); @@ -22,7 +22,7 @@ index fecab5bfbc35fbecef8c559369de70c198bfe1e7..338e0c7c09120c6e9617893dd074cbd5 } this.level().broadcastEntityEvent(this, EntityEvent.DEATH); -@@ -1487,6 +1494,24 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1490,6 +1497,24 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc } // Leaves end - exp fix diff --git a/lophine-server/minecraft-patches/features/0010-Add-config-to-enable-raytracing-tracker.patch b/lophine-server/minecraft-patches/features/0010-Add-config-to-enable-raytracing-tracker.patch index 3191f98..10fc0bc 100644 --- a/lophine-server/minecraft-patches/features/0010-Add-config-to-enable-raytracing-tracker.patch +++ b/lophine-server/minecraft-patches/features/0010-Add-config-to-enable-raytracing-tracker.patch @@ -96,10 +96,10 @@ index cb0a52dc3795e1cf54069bcbe82abf7877a658b8..0d743a01ae70baa789cd0e0bb9abd4c4 public EntityType( final EntityType.EntityFactory factory, diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java -index 234124cc64e5175c20f9e9f0f482c9c677bca563..b45481f781f3556001af89704b718d6291ba1f66 100644 +index ce8ab4b7eee5e0715e780d189d2f6554c5a9dc3c..06c6d30f3aef605bc25c42db8a6d26bbde57f40b 100644 --- a/net/minecraft/world/entity/player/Player.java +++ b/net/minecraft/world/entity/player/Player.java -@@ -185,6 +185,25 @@ public abstract class Player extends Avatar implements ContainerUser { +@@ -186,6 +186,25 @@ public abstract class Player extends Avatar implements ContainerUser { return (org.bukkit.craftbukkit.entity.CraftHumanEntity) super.getBukkitEntity(); } // CraftBukkit end @@ -125,7 +125,7 @@ index 234124cc64e5175c20f9e9f0f482c9c677bca563..b45481f781f3556001af89704b718d62 public Player(final Level level, final GameProfile gameProfile) { super(EntityType.PLAYER, level); -@@ -240,6 +259,26 @@ public abstract class Player extends Avatar implements ContainerUser { +@@ -241,6 +260,26 @@ public abstract class Player extends Avatar implements ContainerUser { @Override public void tick() { @@ -152,7 +152,7 @@ index 234124cc64e5175c20f9e9f0f482c9c677bca563..b45481f781f3556001af89704b718d62 this.noPhysics = this.isSpectator(); if (this.isSpectator() || this.isPassenger()) { this.setOnGround(false); -@@ -1352,6 +1391,7 @@ public abstract class Player extends Avatar implements ContainerUser { +@@ -1355,6 +1394,7 @@ public abstract class Player extends Avatar implements ContainerUser { if (this.hasContainerOpen()) { this.doCloseContainer(); } diff --git a/lophine-server/minecraft-patches/features/0014-Spawn-invulnerable-time.patch b/lophine-server/minecraft-patches/features/0014-Spawn-invulnerable-time.patch index f97b5ef..cd41a09 100644 --- a/lophine-server/minecraft-patches/features/0014-Spawn-invulnerable-time.patch +++ b/lophine-server/minecraft-patches/features/0014-Spawn-invulnerable-time.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Spawn invulnerable time diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 338e0c7c09120c6e9617893dd074cbd5da40a093..baab2435bac22aacff30ad52bde629b4093bfaba 100644 +index f7869f06ab29e4bbd003c807176345dec9e9e5ab..295be200cb0696bd2ae2b655f89d96dd7723a541 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java @@ -242,6 +242,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -16,7 +16,7 @@ index 338e0c7c09120c6e9617893dd074cbd5da40a093..baab2435bac22aacff30ad52bde629b4 private ChatVisiblity chatVisibility = ChatVisiblity.FULL; public ParticleStatus particleStatus = ParticleStatus.ALL; private boolean canChatColor = true; -@@ -920,6 +921,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -923,6 +924,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc this.connection.tickClientLoadTimeout(); this.gameMode.tick(); this.wardenSpawnTracker.tick(); @@ -24,7 +24,7 @@ index 338e0c7c09120c6e9617893dd074cbd5da40a093..baab2435bac22aacff30ad52bde629b4 if (this.invulnerableTime > 0) { this.invulnerableTime--; } -@@ -1556,6 +1558,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1559,6 +1561,13 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc if (this.isInvulnerableTo(level, source)) { return false; } else { diff --git a/lophine-server/minecraft-patches/features/0018-Leaves-Leaves-Base-Protocol-Core.patch b/lophine-server/minecraft-patches/features/0018-Leaves-Leaves-Base-Protocol-Core.patch index c1c18c7..ce7f26c 100644 --- a/lophine-server/minecraft-patches/features/0018-Leaves-Leaves-Base-Protocol-Core.patch +++ b/lophine-server/minecraft-patches/features/0018-Leaves-Leaves-Base-Protocol-Core.patch @@ -96,10 +96,10 @@ index cf4b5e436b8d81657d1deaa5b06645016d9dc3cc..f3af5660a377e2eb823f79ec274feaf3 bridge.removeChannel(channel); } diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 527c495bb4f6007aee760b99cc0e9aa589931f4b..e6987eaf6e4d36d43cee4ece3ce22d31052a2a2a 100644 +index 45e5ac1e8e2ec30935e96fa20d18e77bbd0e20bd..deb029c5621f793f63447d351526c31fab5ec12c 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -317,6 +317,8 @@ public abstract class PlayerList { +@@ -318,6 +318,8 @@ public abstract class PlayerList { //return; // Folia - region threading - must still allow the player to connect, as we must add to chunk map before handling disconnect } @@ -108,7 +108,7 @@ index 527c495bb4f6007aee760b99cc0e9aa589931f4b..e6987eaf6e4d36d43cee4ece3ce22d31 final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage(); if (jm != null && !jm.equals(net.kyori.adventure.text.Component.empty())) { // Paper - Adventure -@@ -517,6 +519,7 @@ public abstract class PlayerList { +@@ -518,6 +520,7 @@ public abstract class PlayerList { return this.remove(player, net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? player.getBukkitEntity().displayName() : io.papermc.paper.adventure.PaperAdventure.asAdventure(player.getDisplayName()))); } public net.kyori.adventure.text.@Nullable Component remove(final ServerPlayer player, final net.kyori.adventure.text.Component leaveMessage) { @@ -116,7 +116,7 @@ index 527c495bb4f6007aee760b99cc0e9aa589931f4b..e6987eaf6e4d36d43cee4ece3ce22d31 // Paper end - Fix kick event leave message not being sent ServerLevel level = player.level(); player.awardStat(Stats.LEAVE_GAME); -@@ -1411,6 +1414,7 @@ public abstract class PlayerList { +@@ -1413,6 +1416,7 @@ public abstract class PlayerList { player.connection.send(recipes); player.getRecipeBook().sendInitialRecipeBook(player); } diff --git a/lophine-server/minecraft-patches/features/0019-Leaves-Configurable-trading-with-the-void.patch b/lophine-server/minecraft-patches/features/0019-Leaves-Configurable-trading-with-the-void.patch index c2d94c3..29372e7 100644 --- a/lophine-server/minecraft-patches/features/0019-Leaves-Configurable-trading-with-the-void.patch +++ b/lophine-server/minecraft-patches/features/0019-Leaves-Configurable-trading-with-the-void.patch @@ -21,10 +21,10 @@ index 0f1bd15ea3b1400cc948883c92eceabcd4a4cda1..006844d6fda43f3b151899655f03b1de } // Paper end - Fix merchant inventory not closing on entity removal diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index e6987eaf6e4d36d43cee4ece3ce22d31052a2a2a..168702a5ae51a2bc42c5761e13cb14008a8162c4 100644 +index deb029c5621f793f63447d351526c31fab5ec12c..6148e7e5978a9a5b7d7f90b58b86b0166fd16c9d 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -560,7 +560,7 @@ public abstract class PlayerList { +@@ -561,7 +561,7 @@ public abstract class PlayerList { player.stopRiding(); vehicle.getPassengersAndSelf().forEach(e -> { // Paper start - Fix villager boat exploit diff --git a/lophine-server/minecraft-patches/features/0026-Leaves-Xaero-Map-Protocol.patch b/lophine-server/minecraft-patches/features/0026-Leaves-Xaero-Map-Protocol.patch index 6d45bc2..105a69f 100644 --- a/lophine-server/minecraft-patches/features/0026-Leaves-Xaero-Map-Protocol.patch +++ b/lophine-server/minecraft-patches/features/0026-Leaves-Xaero-Map-Protocol.patch @@ -8,10 +8,10 @@ As a part of : Leaves (https://github.com/LeavesMC/Leaves) Licensed under: GPL-3.0 (https://www.gnu.org/licenses/gpl-3.0.html) diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 168702a5ae51a2bc42c5761e13cb14008a8162c4..ebd2f2887780d9c6c3c44983bac23eab732cf43f 100644 +index 6148e7e5978a9a5b7d7f90b58b86b0166fd16c9d..16d01fcb97aa3dbd7554bd64b3608c6e80ce3dbd 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -1105,6 +1105,7 @@ public abstract class PlayerList { +@@ -1107,6 +1107,7 @@ public abstract class PlayerList { //player.connection.send(new ClientboundSetChunkCacheRadiusPacket(io.papermc.paper.FeatureHooks.getViewDistance(level))); // Paper - rewrite chunk system //player.connection.send(new ClientboundSetSimulationDistancePacket(io.papermc.paper.FeatureHooks.getSimulationDistance(level))); // Paper - rewrite chunk system // Paper end - view distances diff --git a/lophine-server/minecraft-patches/features/0030-Leaves-Fakeplayer.patch b/lophine-server/minecraft-patches/features/0030-Leaves-Fakeplayer.patch index 1043108..751df7b 100644 --- a/lophine-server/minecraft-patches/features/0030-Leaves-Fakeplayer.patch +++ b/lophine-server/minecraft-patches/features/0030-Leaves-Fakeplayer.patch @@ -239,7 +239,7 @@ index e9c9a468f046832e8eaa999bb57da261b4633604..2efe24c0378a80dd2750b10a54c18878 } } diff --git a/net/minecraft/server/dedicated/DedicatedServer.java b/net/minecraft/server/dedicated/DedicatedServer.java -index 1bc1e9a77dca7acfe5f989f6439f185d0d2e20a6..1790e8c141a8d3f7ccf4b11f9a28b3582325e317 100644 +index fcd4b4785f0d09f87fe214202468c75395157e14..09e92f20f97b374582e057b0dc7d2edc82d6f431 100644 --- a/net/minecraft/server/dedicated/DedicatedServer.java +++ b/net/minecraft/server/dedicated/DedicatedServer.java @@ -274,6 +274,7 @@ public class DedicatedServer extends MinecraftServer implements ServerInterface @@ -334,7 +334,7 @@ index 0befa4fc81e10a23c6ba824e559f2fb4886e68ee..2ddcf6ae90aaaf98e2fcd8ab9995b6f0 ServerLevel.this.updateSleepingPlayerList(); } diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index baab2435bac22aacff30ad52bde629b4093bfaba..cdb4a52cbd34322903144364c3686a4e1bf0fbb8 100644 +index 295be200cb0696bd2ae2b655f89d96dd7723a541..4f6010285a5ff9cf939248c4d93043133680d383 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java @@ -229,7 +229,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -355,7 +355,7 @@ index baab2435bac22aacff30ad52bde629b4093bfaba..cdb4a52cbd34322903144364c3686a4e private @Nullable Vec3 levitationStartPos; private int levitationStartTime; private boolean disconnected; -@@ -1514,7 +1514,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1517,7 +1517,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc } // Luminol End - Cross Region Damage trace @@ -364,7 +364,7 @@ index baab2435bac22aacff30ad52bde629b4093bfaba..cdb4a52cbd34322903144364c3686a4e AABB aabb = new AABB(this.blockPosition()).inflate(32.0, 10.0, 32.0); this.level() .getEntitiesOfClass(Mob.class, aabb, EntitySelector.NO_SPECTATORS) -@@ -2180,6 +2180,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -2183,6 +2183,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc this.lastSentHealth = -1.0F; this.lastSentFood = -1; this.teleportSpectators(transition, oldLevel); @@ -377,7 +377,7 @@ index baab2435bac22aacff30ad52bde629b4093bfaba..cdb4a52cbd34322903144364c3686a4e org.bukkit.event.player.PlayerChangedWorldEvent changeEvent = new org.bukkit.event.player.PlayerChangedWorldEvent(this.getBukkitEntity(), oldLevel.getWorld()); this.level().getCraftServer().getPluginManager().callEvent(changeEvent); diff --git a/net/minecraft/server/players/CachedUserNameToIdResolver.java b/net/minecraft/server/players/CachedUserNameToIdResolver.java -index 50c64f4be138f08e8a57fb10888dbfbc364c91af..382fc20df48d7d554833715a9c9f62ea7464a25d 100644 +index d2da9f3c5e53ceaeb85c6d3d7443e124a4d93bb8..8a96c07e6d5fd0826efc50e3fd585a42b2c9028c 100644 --- a/net/minecraft/server/players/CachedUserNameToIdResolver.java +++ b/net/minecraft/server/players/CachedUserNameToIdResolver.java @@ -122,6 +122,12 @@ public class CachedUserNameToIdResolver implements UserNameToIdResolver { @@ -442,10 +442,10 @@ index 484714beb5f7cdf8178834c5edd4f847fb06ebb8..ba7a280aad07f36366c15cd158b36ca9 // Paper start - utility method for common conversion back to the game profile diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index ebd2f2887780d9c6c3c44983bac23eab732cf43f..14be3d21cc1a613b1d9164ecc699073f0da2047c 100644 +index 16d01fcb97aa3dbd7554bd64b3608c6e80ce3dbd..b77968e195d1f87c825c09b2a1622b3a3ed5f772 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -319,6 +319,19 @@ public abstract class PlayerList { +@@ -320,6 +320,19 @@ public abstract class PlayerList { org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handlePlayerJoin(player); // Leaves - protocol @@ -465,7 +465,7 @@ index ebd2f2887780d9c6c3c44983bac23eab732cf43f..14be3d21cc1a613b1d9164ecc699073f final net.kyori.adventure.text.Component jm = playerJoinEvent.joinMessage(); if (jm != null && !jm.equals(net.kyori.adventure.text.Component.empty())) { // Paper - Adventure -@@ -791,6 +804,11 @@ public abstract class PlayerList { +@@ -793,6 +806,11 @@ public abstract class PlayerList { respawnReason ).callEvent(); // Paper end @@ -477,7 +477,7 @@ index ebd2f2887780d9c6c3c44983bac23eab732cf43f..14be3d21cc1a613b1d9164ecc699073f return player; } -@@ -893,11 +911,16 @@ public abstract class PlayerList { +@@ -895,11 +913,16 @@ public abstract class PlayerList { public String[] getPlayerNamesArray() { List players = new java.util.ArrayList<>(this.players); // Folia - region threading @@ -495,7 +495,7 @@ index ebd2f2887780d9c6c3c44983bac23eab732cf43f..14be3d21cc1a613b1d9164ecc699073f return names; } -@@ -1016,8 +1039,15 @@ public abstract class PlayerList { +@@ -1018,8 +1041,15 @@ public abstract class PlayerList { || this.allowCommandsForAllPlayers; } @@ -513,7 +513,7 @@ index ebd2f2887780d9c6c3c44983bac23eab732cf43f..14be3d21cc1a613b1d9164ecc699073f } public void broadcast( -@@ -1360,7 +1390,13 @@ public abstract class PlayerList { +@@ -1362,7 +1392,13 @@ public abstract class PlayerList { } public @Nullable ServerPlayer getPlayer(final UUID uuid) { @@ -597,7 +597,7 @@ index 2bce20202b7c539bee3685741663a8ed225919ff..a2f44e4354f6aa1c0502cba40cadaad5 if (!this.level().isClientSide()) { boolean wasUsingItem = this.isUsingItem(); diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java -index b45481f781f3556001af89704b718d6291ba1f66..2135ea645131c27b9bec5534431199f9d55134d8 100644 +index 06c6d30f3aef605bc25c42db8a6d26bbde57f40b..20a76138a8625663cf608e4ef97cc8ca4085b844 100644 --- a/net/minecraft/world/entity/player/Player.java +++ b/net/minecraft/world/entity/player/Player.java @@ -167,7 +167,7 @@ public abstract class Player extends Avatar implements ContainerUser { @@ -608,8 +608,8 @@ index b45481f781f3556001af89704b718d6291ba1f66..2135ea645131c27b9bec5534431199f9 + protected ItemStack lastItemInMainHand = ItemStack.EMPTY; // Leaves - fakeplayer private final ItemCooldowns cooldowns = this.createItemCooldowns(); private Optional lastDeathLocation = Optional.empty(); - public @Nullable FishingHook fishing; -@@ -340,6 +340,12 @@ public abstract class Player extends Avatar implements ContainerUser { + public me.earthme.luminol.functions.bars.TickableStatusBarList statusBarList = new me.earthme.luminol.functions.bars.TickableStatusBarList(this); // Luminol status bars +@@ -341,6 +341,12 @@ public abstract class Player extends Avatar implements ContainerUser { this.updatePlayerPose(); } @@ -622,7 +622,7 @@ index b45481f781f3556001af89704b718d6291ba1f66..2135ea645131c27b9bec5534431199f9 @Override protected float getMaxHeadRotationRelativeToBody() { return this.isBlocking() ? 15.0F : super.getMaxHeadRotationRelativeToBody(); -@@ -565,7 +571,7 @@ public abstract class Player extends Avatar implements ContainerUser { +@@ -566,7 +572,7 @@ public abstract class Player extends Avatar implements ContainerUser { public void removeEntitiesOnShoulder() { } @@ -631,7 +631,7 @@ index b45481f781f3556001af89704b718d6291ba1f66..2135ea645131c27b9bec5534431199f9 entity.playerTouch(this); } -@@ -1247,7 +1253,7 @@ public abstract class Player extends Avatar implements ContainerUser { +@@ -1250,7 +1256,7 @@ public abstract class Player extends Avatar implements ContainerUser { // Paper end - Configurable sprint interruption on attack } diff --git a/lophine-server/minecraft-patches/features/0031-Leaves-Replay-Mod-API.patch b/lophine-server/minecraft-patches/features/0031-Leaves-Replay-Mod-API.patch index fde6fee..210f489 100644 --- a/lophine-server/minecraft-patches/features/0031-Leaves-Replay-Mod-API.patch +++ b/lophine-server/minecraft-patches/features/0031-Leaves-Replay-Mod-API.patch @@ -307,7 +307,7 @@ index 2ddcf6ae90aaaf98e2fcd8ab9995b6f0d7791856..a7cebb797973cde399dc30c696b064ef } // Leaves end - skip diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index 14be3d21cc1a613b1d9164ecc699073f0da2047c..baa295f3dd8cf10bf7347ee4d1c249b1f82c9279 100644 +index b77968e195d1f87c825c09b2a1622b3a3ed5f772..c95c7b9a3968fc34a900a613b65b5d3e1abb24bf 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java @@ -130,6 +130,7 @@ public abstract class PlayerList { @@ -318,7 +318,7 @@ index 14be3d21cc1a613b1d9164ecc699073f0da2047c..baa295f3dd8cf10bf7347ee4d1c249b1 // CraftBukkit start private org.bukkit.craftbukkit.CraftServer cserver; -@@ -191,6 +192,7 @@ public abstract class PlayerList { +@@ -192,6 +193,7 @@ public abstract class PlayerList { private boolean countConnection(Connection conn, int limit) { synchronized (this.connectionsStateLock) { @@ -326,7 +326,7 @@ index 14be3d21cc1a613b1d9164ecc699073f0da2047c..baa295f3dd8cf10bf7347ee4d1c249b1 int count = this.usersCountedAgainstLimit.size(); if (count >= limit) { return false; -@@ -221,6 +223,124 @@ public abstract class PlayerList { +@@ -222,6 +224,124 @@ public abstract class PlayerList { abstract public void loadAndSaveFiles(); // Paper - fix converting txt to json file; moved from DedicatedPlayerList constructor @@ -451,7 +451,7 @@ index 14be3d21cc1a613b1d9164ecc699073f0da2047c..baa295f3dd8cf10bf7347ee4d1c249b1 public void placeNewPlayer(final Connection connection, final ServerPlayer player, final CommonListenerCookie cookie) { player.isRealPlayer = true; // Paper player.loginTime = System.currentTimeMillis(); // Paper - Replace OfflinePlayer#getLastPlayed -@@ -294,6 +414,7 @@ public abstract class PlayerList { +@@ -295,6 +415,7 @@ public abstract class PlayerList { // player.connection.send(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(this.players)); // CraftBukkit - replaced with loop below this.players.add(player); @@ -459,7 +459,7 @@ index 14be3d21cc1a613b1d9164ecc699073f0da2047c..baa295f3dd8cf10bf7347ee4d1c249b1 this.playersByName.put(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT), player); // Spigot this.playersByUUID.put(player.getUUID(), player); // this.broadcastAll(ClientboundPlayerInfoUpdatePacket.createPlayerInitializing(List.of(player))); // CraftBukkit - replaced with loop below -@@ -513,6 +634,7 @@ public abstract class PlayerList { +@@ -514,6 +635,7 @@ public abstract class PlayerList { } protected void save(final ServerPlayer player) { @@ -467,7 +467,7 @@ index 14be3d21cc1a613b1d9164ecc699073f0da2047c..baa295f3dd8cf10bf7347ee4d1c249b1 if (!player.getBukkitEntity().isPersistent()) return; // CraftBukkit player.lastSave = System.nanoTime(); // Folia - region threading - changed to nanoTime tracking this.playerIo.save(player); -@@ -527,6 +649,47 @@ public abstract class PlayerList { +@@ -528,6 +650,47 @@ public abstract class PlayerList { } } @@ -515,15 +515,15 @@ index 14be3d21cc1a613b1d9164ecc699073f0da2047c..baa295f3dd8cf10bf7347ee4d1c249b1 public net.kyori.adventure.text.@Nullable Component remove(final ServerPlayer player) { // CraftBukkit - return string // Paper - return Component // Paper start - Fix kick event leave message not being sent return this.remove(player, net.kyori.adventure.text.Component.translatable("multiplayer.player.left", net.kyori.adventure.text.format.NamedTextColor.YELLOW, io.papermc.paper.configuration.GlobalConfiguration.get().messages.useDisplayNameInQuitMessage ? player.getBukkitEntity().displayName() : io.papermc.paper.adventure.PaperAdventure.asAdventure(player.getDisplayName()))); -@@ -600,6 +763,7 @@ public abstract class PlayerList { +@@ -601,6 +764,7 @@ public abstract class PlayerList { player.getBukkitEntity().packetProcessor.close(); // Folia - region threading player.getAdvancements().stopListening(); this.players.remove(player); + this.realPlayers.remove(player); // Leaves - replay api this.playersByName.remove(player.getScoreboardName().toLowerCase(java.util.Locale.ROOT)); // Spigot + if (me.earthme.luminol.config.modules.misc.UsernameCheckConfig.allowOldPlayersJoin) this.playedPlayers.remove(player.getGameProfile().name()); // Leaf - Configurable vanilla username check this.server.getCustomBossEvents().onPlayerDisconnect(player); - UUID uuid = player.getUUID(); -@@ -910,15 +1074,15 @@ public abstract class PlayerList { +@@ -912,15 +1076,15 @@ public abstract class PlayerList { } public String[] getPlayerNamesArray() { diff --git a/lophine-server/minecraft-patches/features/0032-Leaves-Creative-fly-no-clip.patch b/lophine-server/minecraft-patches/features/0032-Leaves-Creative-fly-no-clip.patch index 5c057ea..39351d8 100644 --- a/lophine-server/minecraft-patches/features/0032-Leaves-Creative-fly-no-clip.patch +++ b/lophine-server/minecraft-patches/features/0032-Leaves-Creative-fly-no-clip.patch @@ -21,10 +21,10 @@ index e302c6198d71782b524391329aa5c89d2b3e0ccf..2312803297321f66c9057bc54ce56dd1 } else { this.followingPlayer = null; diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java -index 2135ea645131c27b9bec5534431199f9d55134d8..5e7e99410c7597ec5330cc82e441fa30c53c9532 100644 +index 20a76138a8625663cf608e4ef97cc8ca4085b844..97057675369875ed71c228a87f5a4d3c3489dded 100644 --- a/net/minecraft/world/entity/player/Player.java +++ b/net/minecraft/world/entity/player/Player.java -@@ -279,8 +279,8 @@ public abstract class Player extends Avatar implements ContainerUser { +@@ -280,8 +280,8 @@ public abstract class Player extends Avatar implements ContainerUser { if (this.cullTask != null) this.cullTask.requestCullSignal(); // Luminol - Ray tracing entity tracker // Luminol end @@ -35,7 +35,7 @@ index 2135ea645131c27b9bec5534431199f9d55134d8..5e7e99410c7597ec5330cc82e441fa30 this.setOnGround(false); } -@@ -406,7 +406,7 @@ public abstract class Player extends Avatar implements ContainerUser { +@@ -407,7 +407,7 @@ public abstract class Player extends Avatar implements ContainerUser { if (this.canPlayerFitWithinBlocksAndEntitiesWhen(Pose.SWIMMING)) { Pose desiredPose = this.getDesiredPose(); Pose actualPose; @@ -44,7 +44,7 @@ index 2135ea645131c27b9bec5534431199f9d55134d8..5e7e99410c7597ec5330cc82e441fa30 actualPose = desiredPose; } else if (this.canPlayerFitWithinBlocksAndEntitiesWhen(Pose.CROUCHING)) { actualPose = Pose.CROUCHING; -@@ -535,7 +535,7 @@ public abstract class Player extends Avatar implements ContainerUser { +@@ -536,7 +536,7 @@ public abstract class Player extends Avatar implements ContainerUser { this.updateSwingTime(); this.yHeadRot = this.getYRot(); this.setSpeed((float)this.getAttributeValue(Attributes.MOVEMENT_SPEED)); @@ -53,7 +53,7 @@ index 2135ea645131c27b9bec5534431199f9d55134d8..5e7e99410c7597ec5330cc82e441fa30 AABB pickupArea; if (this.isPassenger() && !this.getVehicle().isRemoved()) { pickupArea = this.getBoundingBox().minmax(this.getVehicle().getBoundingBox()).inflate(1.0, 0.0, 1.0); -@@ -1846,6 +1846,26 @@ public abstract class Player extends Avatar implements ContainerUser { +@@ -1849,6 +1849,26 @@ public abstract class Player extends Avatar implements ContainerUser { return this.gameMode() == GameType.SPECTATOR; } diff --git a/lophine-server/minecraft-patches/features/0034-Global-Entities-Counter.patch b/lophine-server/minecraft-patches/features/0034-Global-Entities-Counter.patch index 6a34c12..a29e91f 100644 --- a/lophine-server/minecraft-patches/features/0034-Global-Entities-Counter.patch +++ b/lophine-server/minecraft-patches/features/0034-Global-Entities-Counter.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Global Entities Counter diff --git a/io/papermc/paper/threadedregions/RegionizedWorldData.java b/io/papermc/paper/threadedregions/RegionizedWorldData.java -index 0cf5815672ac62d8caf7f18165be1f0f8e067aed..64d407c5a6140a7e5dc47a8e304b4c00602e2bdd 100644 +index eedbeb005d3c8090333c36b9857c837dfb75dbd4..5817f087187e9d3479c752129a1a9d853623a3f7 100644 --- a/io/papermc/paper/threadedregions/RegionizedWorldData.java +++ b/io/papermc/paper/threadedregions/RegionizedWorldData.java @@ -558,6 +558,9 @@ public final class RegionizedWorldData { diff --git a/lophine-server/minecraft-patches/features/0035-Leaves-Catch-update-suppression-crash.patch b/lophine-server/minecraft-patches/features/0035-Leaves-Catch-update-suppression-crash.patch index b298015..ae542be 100644 --- a/lophine-server/minecraft-patches/features/0035-Leaves-Catch-update-suppression-crash.patch +++ b/lophine-server/minecraft-patches/features/0035-Leaves-Catch-update-suppression-crash.patch @@ -98,10 +98,10 @@ index c0e62a69bb5c9e777265b5474d76ba8d06ccec4b..3e7420cd98504732db17cb6b0fcfdfbb } } diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index cdb4a52cbd34322903144364c3686a4e1bf0fbb8..3a3a335a7659ebe946221186b56150df4a89c004 100644 +index 4f6010285a5ff9cf939248c4d93043133680d383..020b2fcb5213a618b557f0578a7d44db5a8dc109 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -1130,6 +1130,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -1133,6 +1133,12 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc // Folia - region threading - move to main tick loop where we can detect duplicates // CraftBukkit end diff --git a/lophine-server/minecraft-patches/features/0038-Instant-Block-Updater.patch b/lophine-server/minecraft-patches/features/0038-Instant-Block-Updater.patch index b9827d7..41d1a95 100644 --- a/lophine-server/minecraft-patches/features/0038-Instant-Block-Updater.patch +++ b/lophine-server/minecraft-patches/features/0038-Instant-Block-Updater.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Instant Block Updater diff --git a/io/papermc/paper/threadedregions/RegionizedWorldData.java b/io/papermc/paper/threadedregions/RegionizedWorldData.java -index 64d407c5a6140a7e5dc47a8e304b4c00602e2bdd..9911c70d89cfb43b803cab9bbe6eedd1142f59d6 100644 +index 5817f087187e9d3479c752129a1a9d853623a3f7..1d50a626c15fba4947c966e46f38e7684511e9fe 100644 --- a/io/papermc/paper/threadedregions/RegionizedWorldData.java +++ b/io/papermc/paper/threadedregions/RegionizedWorldData.java @@ -506,7 +506,7 @@ public final class RegionizedWorldData { diff --git a/lophine-server/minecraft-patches/features/0044-Carpet-features.patch b/lophine-server/minecraft-patches/features/0044-Carpet-features.patch index 262c17f..cbdb34a 100644 --- a/lophine-server/minecraft-patches/features/0044-Carpet-features.patch +++ b/lophine-server/minecraft-patches/features/0044-Carpet-features.patch @@ -128,7 +128,7 @@ index 1a2b57a100c997b39f8f25ad3da121e04700d5d2..6b0d0a2c0067065b4a995a9f12791066 // Paper start - fix converting txt to json file; moved from constructor } diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 3a3a335a7659ebe946221186b56150df4a89c004..8ed9aa981883458d11f8cddce56e04b021026cc2 100644 +index 020b2fcb5213a618b557f0578a7d44db5a8dc109..5e70e4e8a67e50a067dff1e592d617ca6a0426a9 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java @@ -257,6 +257,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc @@ -139,7 +139,7 @@ index 3a3a335a7659ebe946221186b56150df4a89c004..8ed9aa981883458d11f8cddce56e04b0 private @Nullable Vec3 startingToFallPosition; private @Nullable Vec3 enteredNetherPosition; private @Nullable Vec3 enteredLavaOnVehiclePosition; -@@ -2828,6 +2829,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -2831,6 +2832,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc this.setShoulderEntityRight(oldPlayer.getShoulderEntityRight()); this.setLastDeathLocation(oldPlayer.getLastDeathLocation()); this.waypointIcon().copyFrom(oldPlayer.waypointIcon()); @@ -151,7 +151,7 @@ index 3a3a335a7659ebe946221186b56150df4a89c004..8ed9aa981883458d11f8cddce56e04b0 } private void transferInventoryXpAndScore(final Player oldPlayer) { -@@ -3111,6 +3117,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -3114,6 +3120,11 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc this.particleStatus = information.particleStatus(); this.getEntityData().set(DATA_PLAYER_MODE_CUSTOMISATION, (byte)information.modelCustomisation()); this.getEntityData().set(DATA_PLAYER_MAIN_HAND, information.mainHand()); @@ -481,10 +481,10 @@ index 459a05ca83583538f995f45c4d2c977c6d6fcd00..35a275ff953a271a2769a18af8163e81 } } diff --git a/net/minecraft/world/entity/player/Player.java b/net/minecraft/world/entity/player/Player.java -index 5e7e99410c7597ec5330cc82e441fa30c53c9532..f34631cd7d5d1c76f2b1522200e5c9f6bf5406f5 100644 +index 97057675369875ed71c228a87f5a4d3c3489dded..79bc1c2320ffd7b7017b664b5fe376566968c265 100644 --- a/net/minecraft/world/entity/player/Player.java +++ b/net/minecraft/world/entity/player/Player.java -@@ -555,7 +555,15 @@ public abstract class Player extends Avatar implements ContainerUser { +@@ -556,7 +556,15 @@ public abstract class Player extends Avatar implements ContainerUser { } if (!orbs.isEmpty()) { @@ -501,7 +501,7 @@ index 5e7e99410c7597ec5330cc82e441fa30c53c9532..f34631cd7d5d1c76f2b1522200e5c9f6 } } -@@ -1066,6 +1074,28 @@ public abstract class Player extends Avatar implements ContainerUser { +@@ -1069,6 +1077,28 @@ public abstract class Player extends Avatar implements ContainerUser { if (playerAttackEntityEvent.callEvent() && willAttack) { // Logic moved to willAttack local variable. // Paper end - PlayerAttackEntityEvent @@ -530,7 +530,7 @@ index 5e7e99410c7597ec5330cc82e441fa30c53c9532..f34631cd7d5d1c76f2b1522200e5c9f6 float baseDamage = this.isAutoSpinAttack() ? this.autoSpinAttackDmg : (float)this.getAttributeValue(Attributes.ATTACK_DAMAGE); ItemStack attackingItemStack = this.getWeaponItem(); DamageSource damageSource = this.createAttackSource(attackingItemStack); final DamageSource dmgSourceFinal = damageSource; // Paper - damage events -@@ -1123,6 +1153,18 @@ public abstract class Player extends Avatar implements ContainerUser { +@@ -1126,6 +1156,18 @@ public abstract class Player extends Avatar implements ContainerUser { } } @@ -676,10 +676,10 @@ index 298908003d5422b8b58de631145fad381e8294c1..2e5519813260033daff127fef2598cd1 public void addRecipe(RecipeHolder holder) { org.spigotmc.AsyncCatcher.catchOp("Recipe Add"); // Spigot diff --git a/net/minecraft/world/level/Level.java b/net/minecraft/world/level/Level.java -index f0ae87545bd38c38cffbc2217acb9008a4183531..95ec0e3b78a8740dd593c80d5dd8f1bf693c35af 100644 +index 8c051d7322d8efc1ae2e151964fd0124740fd04d..d419d9e3c8f7af424a1b4783f7e7a015bbf541b0 100644 --- a/net/minecraft/world/level/Level.java +++ b/net/minecraft/world/level/Level.java -@@ -1176,6 +1176,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -1175,6 +1175,12 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl BlockState state = newState; BlockState blockState = oldState; BlockState blockState1 = currentState; @@ -692,7 +692,7 @@ index f0ae87545bd38c38cffbc2217acb9008a4183531..95ec0e3b78a8740dd593c80d5dd8f1bf if (blockState1 == state) { if (blockState != blockState1) { this.setBlocksDirty(pos, blockState, blockState1); -@@ -1192,7 +1198,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl +@@ -1191,7 +1197,7 @@ public abstract class Level implements LevelAccessor, AutoCloseable, ca.spottedl } } diff --git a/lophine-server/minecraft-patches/features/0045-Carpet-Features-Compatible.patch b/lophine-server/minecraft-patches/features/0045-Carpet-Features-Compatible.patch index 710b9f3..8acc380 100644 --- a/lophine-server/minecraft-patches/features/0045-Carpet-Features-Compatible.patch +++ b/lophine-server/minecraft-patches/features/0045-Carpet-Features-Compatible.patch @@ -53,10 +53,10 @@ index 74ef76058e5a410d12f88aa09450e7d90f63b5e6..1761167da363cd074a26499caadeaeb9 } // Luminol end - Add a config to enable tick command diff --git a/net/minecraft/server/level/ServerPlayer.java b/net/minecraft/server/level/ServerPlayer.java -index 8ed9aa981883458d11f8cddce56e04b021026cc2..fb200adb544a9cc5eb7d9d0051a6c70da017b858 100644 +index 5e70e4e8a67e50a067dff1e592d617ca6a0426a9..63300acdcb1cdab2bf080c4939abb256fe05efa1 100644 --- a/net/minecraft/server/level/ServerPlayer.java +++ b/net/minecraft/server/level/ServerPlayer.java -@@ -2188,7 +2188,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc +@@ -2191,7 +2191,7 @@ public class ServerPlayer extends Player implements ca.spottedleaf.moonrise.patc this.lastSentFood = -1; this.teleportSpectators(transition, oldLevel); // Leaves start - bot support @@ -66,10 +66,10 @@ index 8ed9aa981883458d11f8cddce56e04b021026cc2..fb200adb544a9cc5eb7d9d0051a6c70d } // Leaves end - bot support diff --git a/net/minecraft/server/players/PlayerList.java b/net/minecraft/server/players/PlayerList.java -index baa295f3dd8cf10bf7347ee4d1c249b1f82c9279..1d5376650d0f5eeb23fde8d7116b47cfae37576f 100644 +index c95c7b9a3968fc34a900a613b65b5d3e1abb24bf..64779d7b28e61c91897db5226158d65c32bfc835 100644 --- a/net/minecraft/server/players/PlayerList.java +++ b/net/minecraft/server/players/PlayerList.java -@@ -280,7 +280,7 @@ public abstract class PlayerList { +@@ -281,7 +281,7 @@ public abstract class PlayerList { // org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handlePlayerJoin(player); // Leaves - protocol // Leaves start - bot support @@ -78,7 +78,7 @@ index baa295f3dd8cf10bf7347ee4d1c249b1f82c9279..1d5376650d0f5eeb23fde8d7116b47cf org.leavesmc.leaves.bot.ServerBot bot = this.server.getBotList().getBotByName(player.getScoreboardName()); if (bot != null) { this.server.getBotList().removeBot(bot, org.leavesmc.leaves.event.bot.BotRemoveEvent.RemoveReason.INTERNAL, player.getBukkitEntity(), false, false); -@@ -441,7 +441,7 @@ public abstract class PlayerList { +@@ -442,7 +442,7 @@ public abstract class PlayerList { org.leavesmc.leaves.protocol.core.LeavesProtocolManager.handlePlayerJoin(player); // Leaves - protocol // Leaves start - bot support @@ -87,7 +87,7 @@ index baa295f3dd8cf10bf7347ee4d1c249b1f82c9279..1d5376650d0f5eeb23fde8d7116b47cf org.leavesmc.leaves.bot.ServerBot bot = this.server.getBotList().getBotByName(player.getScoreboardName()); if (bot != null) { this.server.getBotList().removeBot(bot, org.leavesmc.leaves.event.bot.BotRemoveEvent.RemoveReason.INTERNAL, player.getBukkitEntity(), false, false); -@@ -969,7 +969,7 @@ public abstract class PlayerList { +@@ -971,7 +971,7 @@ public abstract class PlayerList { ).callEvent(); // Paper end // Leaves start - bot support diff --git a/lophine-server/paper-patches/features/0007-Leaves-Replay-Mod-API.patch b/lophine-server/paper-patches/features/0007-Leaves-Replay-Mod-API.patch index 0fc80d7..404d684 100644 --- a/lophine-server/paper-patches/features/0007-Leaves-Replay-Mod-API.patch +++ b/lophine-server/paper-patches/features/0007-Leaves-Replay-Mod-API.patch @@ -66,7 +66,7 @@ index 42c2c6a05645e5aef26e9d3a91ad93563a297ca3..759d54f1f012461fc322d452bb26f7fd // Special case complex part, since there is no extra entity type for them if (entity instanceof EnderDragonPart complexPart) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 47926ff2fba43bb83e2d9747420a526cce8ebe65..e72cd3c9919978a0ed91614d51d018bfb2cdb900 100644 +index 59e3a15cce0ed34aa3b75b92db9e349c9fe481fa..044f3168583b23542e18fe14853d3b98bad3fa4d 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -2086,7 +2086,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player, PluginMessa