diff --git a/patches/api/0183-Add-Player-Client-Options-API.patch b/patches/api/0183-Add-Player-Client-Options-API.patch index 44f597e1444c..999b16c589b1 100644 --- a/patches/api/0183-Add-Player-Client-Options-API.patch +++ b/patches/api/0183-Add-Player-Client-Options-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add Player Client Options API diff --git a/src/main/java/com/destroystokyo/paper/ClientOption.java b/src/main/java/com/destroystokyo/paper/ClientOption.java new file mode 100644 -index 0000000000000000000000000000000000000000..ed08f823e0620289392f7fc2ff0ac721cff60478 +index 0000000000000000000000000000000000000000..98be38bcbf478ab298df673e87b1dd94db95282d --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/ClientOption.java -@@ -0,0 +1,51 @@ +@@ -0,0 +1,70 @@ +package com.destroystokyo.paper; + +import net.kyori.adventure.translation.Translatable; @@ -26,8 +26,9 @@ index 0000000000000000000000000000000000000000..ed08f823e0620289392f7fc2ff0ac721 + public static final ClientOption LOCALE = new ClientOption<>(String.class); + public static final ClientOption MAIN_HAND = new ClientOption<>(MainHand.class); + public static final ClientOption VIEW_DISTANCE = new ClientOption<>(Integer.class); -+ public static final ClientOption ALLOW_SERVER_LISTINGS = new ClientOption<>(Boolean.class); + public static final ClientOption TEXT_FILTERING_ENABLED = new ClientOption<>(Boolean.class); ++ public static final ClientOption ALLOW_SERVER_LISTINGS = new ClientOption<>(Boolean.class); ++ public static final ClientOption PARTICLE_STATUS = new ClientOption<>(ParticleStatus.class); + + private final Class type; + @@ -60,6 +61,24 @@ index 0000000000000000000000000000000000000000..ed08f823e0620289392f7fc2ff0ac721 + return "options.chat.visibility." + this.name; + } + } ++ ++ public enum ParticleStatus implements Translatable { ++ ALL("all"), ++ DECREASED("decreased"), ++ MINIMAL("minimal"); ++ ++ public static final Index NAMES = Index.create(ParticleStatus.class, particleStatus -> particleStatus.name); ++ private final String name; ++ ++ ParticleStatus(final String name) { ++ this.name = name; ++ } ++ ++ @Override ++ public String translationKey() { ++ return "options.particles." + this.name; ++ } ++ } +} diff --git a/src/main/java/com/destroystokyo/paper/SkinParts.java b/src/main/java/com/destroystokyo/paper/SkinParts.java new file mode 100644 @@ -89,14 +108,15 @@ index 0000000000000000000000000000000000000000..4a0c39405d4fbed457787e3c6ded4cc6 +} diff --git a/src/main/java/com/destroystokyo/paper/event/player/PlayerClientOptionsChangeEvent.java b/src/main/java/com/destroystokyo/paper/event/player/PlayerClientOptionsChangeEvent.java new file mode 100644 -index 0000000000000000000000000000000000000000..6cf6aa876278d0d3e75148608951fc5865ad5aee +index 0000000000000000000000000000000000000000..62b876c3a74a9d48a9ee3252ebb0d5c2faa74d49 --- /dev/null +++ b/src/main/java/com/destroystokyo/paper/event/player/PlayerClientOptionsChangeEvent.java -@@ -0,0 +1,130 @@ +@@ -0,0 +1,142 @@ +package com.destroystokyo.paper.event.player; + +import com.destroystokyo.paper.ClientOption; +import com.destroystokyo.paper.ClientOption.ChatVisibility; ++import com.destroystokyo.paper.ClientOption.ParticleStatus; +import com.destroystokyo.paper.SkinParts; +import java.util.Map; +import org.bukkit.entity.Player; @@ -122,6 +142,7 @@ index 0000000000000000000000000000000000000000..6cf6aa876278d0d3e75148608951fc58 + private final MainHand mainHand; + private final boolean allowsServerListings; + private final boolean textFilteringEnabled; ++ private final ParticleStatus particleStatus; + + @Deprecated + public PlayerClientOptionsChangeEvent(final Player player, final String locale, final int viewDistance, final ChatVisibility chatVisibility, final boolean chatColors, final SkinParts skinParts, final MainHand mainHand) { @@ -134,6 +155,7 @@ index 0000000000000000000000000000000000000000..6cf6aa876278d0d3e75148608951fc58 + this.mainHand = mainHand; + this.allowsServerListings = false; + this.textFilteringEnabled = false; ++ this.particleStatus = ParticleStatus.ALL; + } + + @ApiStatus.Internal @@ -148,6 +170,7 @@ index 0000000000000000000000000000000000000000..6cf6aa876278d0d3e75148608951fc58 + this.mainHand = (MainHand) options.get(ClientOption.MAIN_HAND); + this.allowsServerListings = (boolean) options.get(ClientOption.ALLOW_SERVER_LISTINGS); + this.textFilteringEnabled = (boolean) options.get(ClientOption.TEXT_FILTERING_ENABLED); ++ this.particleStatus = (ParticleStatus) options.get(ClientOption.PARTICLE_STATUS); + } + + public String getLocale() { @@ -198,6 +221,14 @@ index 0000000000000000000000000000000000000000..6cf6aa876278d0d3e75148608951fc58 + return this.mainHand != this.player.getClientOption(ClientOption.MAIN_HAND); + } + ++ public boolean hasTextFilteringEnabled() { ++ return this.textFilteringEnabled; ++ } ++ ++ public boolean hasTextFilteringChanged() { ++ return this.textFilteringEnabled != this.player.getClientOption(ClientOption.TEXT_FILTERING_ENABLED); ++ } ++ + public boolean allowsServerListings() { + return this.allowsServerListings; + } @@ -206,12 +237,12 @@ index 0000000000000000000000000000000000000000..6cf6aa876278d0d3e75148608951fc58 + return this.allowsServerListings != this.player.getClientOption(ClientOption.ALLOW_SERVER_LISTINGS); + } + -+ public boolean hasTextFilteringEnabled() { -+ return this.textFilteringEnabled; ++ public ParticleStatus getParticleStatus() { ++ return this.particleStatus; + } + -+ public boolean hasTextFilteringChanged() { -+ return this.textFilteringEnabled != this.player.getClientOption(ClientOption.TEXT_FILTERING_ENABLED); ++ public boolean hasParticleStatusChanged() { ++ return this.particleStatus != this.player.getClientOption(ClientOption.PARTICLE_STATUS); + } + + @Override diff --git a/patches/server/0337-Implement-Player-Client-Options-API.patch b/patches/server/0337-Implement-Player-Client-Options-API.patch index da2d0fcb26f3..e7479fee31a5 100644 --- a/patches/server/0337-Implement-Player-Client-Options-API.patch +++ b/patches/server/0337-Implement-Player-Client-Options-API.patch @@ -5,6 +5,7 @@ Subject: [PATCH] Implement Player Client Options API == AT == public net.minecraft.world.entity.player.Player DATA_PLAYER_MODE_CUSTOMISATION +public net.minecraft.server.level.ServerPlayer particleStatus diff --git a/src/main/java/com/destroystokyo/paper/PaperSkinParts.java b/src/main/java/com/destroystokyo/paper/PaperSkinParts.java new file mode 100644 @@ -87,7 +88,7 @@ index 0000000000000000000000000000000000000000..b6f4400df3d8ec7e06a996de54f8cabb + } +} diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 363175d3325c012f31ba84060bb0bfac694f6ab8..9911e231ad021286f2da90057b06874f7b4e3b4d 100644 +index 66e1da081c2e2a9e1cf589f03c7594805ad5236f..5003e02fcbdeeae13b1ae8e3411bc45a2e7c8dea 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -420,7 +420,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { @@ -99,31 +100,27 @@ index 363175d3325c012f31ba84060bb0bfac694f6ab8..9911e231ad021286f2da90057b06874f this.object = null; // CraftBukkit start -@@ -2404,7 +2404,23 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { - } +@@ -2405,6 +2405,19 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { } -+ // Paper start - Client option API -+ private java.util.Map, ?> getClientOptionMap(String locale, int viewDistance, com.destroystokyo.paper.ClientOption.ChatVisibility chatVisibility, boolean chatColors, com.destroystokyo.paper.PaperSkinParts skinParts, org.bukkit.inventory.MainHand mainHand, boolean allowsServerListing, boolean textFilteringEnabled) { -+ java.util.Map, Object> map = new java.util.HashMap<>(); -+ map.put(com.destroystokyo.paper.ClientOption.LOCALE, locale); -+ map.put(com.destroystokyo.paper.ClientOption.VIEW_DISTANCE, viewDistance); -+ map.put(com.destroystokyo.paper.ClientOption.CHAT_VISIBILITY, chatVisibility); -+ map.put(com.destroystokyo.paper.ClientOption.CHAT_COLORS_ENABLED, chatColors); -+ map.put(com.destroystokyo.paper.ClientOption.SKIN_PARTS, skinParts); -+ map.put(com.destroystokyo.paper.ClientOption.MAIN_HAND, mainHand); -+ map.put(com.destroystokyo.paper.ClientOption.ALLOW_SERVER_LISTINGS, allowsServerListing); -+ map.put(com.destroystokyo.paper.ClientOption.TEXT_FILTERING_ENABLED, textFilteringEnabled); -+ return map; -+ } -+ // Paper end -+ public void updateOptions(ClientInformation clientOptions) { -+ new com.destroystokyo.paper.event.player.PlayerClientOptionsChangeEvent(getBukkitEntity(), getClientOptionMap(clientOptions.language(), clientOptions.viewDistance(), com.destroystokyo.paper.ClientOption.ChatVisibility.valueOf(clientOptions.chatVisibility().name()), clientOptions.chatColors(), new com.destroystokyo.paper.PaperSkinParts(clientOptions.modelCustomisation()), clientOptions.mainHand() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT, clientOptions.allowsListing(), clientOptions.textFilteringEnabled())).callEvent(); // Paper - settings event ++ // Paper start - settings event ++ new com.destroystokyo.paper.event.player.PlayerClientOptionsChangeEvent(this.getBukkitEntity(), Util.make(new java.util.IdentityHashMap<>(), map -> { ++ map.put(com.destroystokyo.paper.ClientOption.LOCALE, clientOptions.language()); ++ map.put(com.destroystokyo.paper.ClientOption.VIEW_DISTANCE, clientOptions.viewDistance()); ++ map.put(com.destroystokyo.paper.ClientOption.CHAT_VISIBILITY, com.destroystokyo.paper.ClientOption.ChatVisibility.valueOf(clientOptions.chatVisibility().name())); ++ map.put(com.destroystokyo.paper.ClientOption.CHAT_COLORS_ENABLED, clientOptions.chatColors()); ++ map.put(com.destroystokyo.paper.ClientOption.SKIN_PARTS, new com.destroystokyo.paper.PaperSkinParts(clientOptions.modelCustomisation())); ++ map.put(com.destroystokyo.paper.ClientOption.MAIN_HAND, clientOptions.mainHand() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); ++ map.put(com.destroystokyo.paper.ClientOption.TEXT_FILTERING_ENABLED, clientOptions.textFilteringEnabled()); ++ map.put(com.destroystokyo.paper.ClientOption.ALLOW_SERVER_LISTINGS, clientOptions.allowsListing()); ++ map.put(com.destroystokyo.paper.ClientOption.PARTICLE_STATUS, com.destroystokyo.paper.ClientOption.ParticleStatus.valueOf(clientOptions.particleStatus().name())); ++ })).callEvent(); ++ // Paper end - settings event // CraftBukkit start if (this.getMainArm() != clientOptions.mainHand()) { PlayerChangedMainHandEvent event = new PlayerChangedMainHandEvent(this.getBukkitEntity(), this.getMainArm() == HumanoidArm.LEFT ? MainHand.LEFT : MainHand.RIGHT); -@@ -2415,6 +2431,11 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -2415,6 +2428,11 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { this.server.server.getPluginManager().callEvent(event); } // CraftBukkit end @@ -136,10 +133,10 @@ index 363175d3325c012f31ba84060bb0bfac694f6ab8..9911e231ad021286f2da90057b06874f this.adventure$locale = java.util.Objects.requireNonNullElse(net.kyori.adventure.translation.Translator.parseLocale(this.language), java.util.Locale.US); // Paper this.requestedViewDistance = clientOptions.viewDistance(); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index faab55435a0c4fc6ff9d117f29a2401677b9f828..69108fd869c7c929fd7971abea520d5ab9063f69 100644 +index faab55435a0c4fc6ff9d117f29a2401677b9f828..22b7d1a63caae7e48a6166bdc3842801098970b1 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -670,6 +670,28 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -670,6 +670,30 @@ public class CraftPlayer extends CraftHumanEntity implements Player { connection.disconnect(message == null ? net.kyori.adventure.text.Component.empty() : message); } } @@ -147,21 +144,23 @@ index faab55435a0c4fc6ff9d117f29a2401677b9f828..69108fd869c7c929fd7971abea520d5a + @Override + public T getClientOption(com.destroystokyo.paper.ClientOption type) { + if (com.destroystokyo.paper.ClientOption.SKIN_PARTS == type) { -+ return type.getType().cast(new com.destroystokyo.paper.PaperSkinParts(getHandle().getEntityData().get(net.minecraft.world.entity.player.Player.DATA_PLAYER_MODE_CUSTOMISATION))); ++ return type.getType().cast(new com.destroystokyo.paper.PaperSkinParts(this.getHandle().getEntityData().get(net.minecraft.world.entity.player.Player.DATA_PLAYER_MODE_CUSTOMISATION))); + } else if (com.destroystokyo.paper.ClientOption.CHAT_COLORS_ENABLED == type) { -+ return type.getType().cast(getHandle().canChatInColor()); ++ return type.getType().cast(this.getHandle().canChatInColor()); + } else if (com.destroystokyo.paper.ClientOption.CHAT_VISIBILITY == type) { -+ return type.getType().cast(getHandle().getChatVisibility() == null ? com.destroystokyo.paper.ClientOption.ChatVisibility.UNKNOWN : com.destroystokyo.paper.ClientOption.ChatVisibility.valueOf(getHandle().getChatVisibility().name())); ++ return type.getType().cast(this.getHandle().getChatVisibility() == null ? com.destroystokyo.paper.ClientOption.ChatVisibility.UNKNOWN : com.destroystokyo.paper.ClientOption.ChatVisibility.valueOf(this.getHandle().getChatVisibility().name())); + } else if (com.destroystokyo.paper.ClientOption.LOCALE == type) { -+ return type.getType().cast(getLocale()); ++ return type.getType().cast(this.getLocale()); + } else if (com.destroystokyo.paper.ClientOption.MAIN_HAND == type) { -+ return type.getType().cast(getMainHand()); ++ return type.getType().cast(this.getMainHand()); + } else if (com.destroystokyo.paper.ClientOption.VIEW_DISTANCE == type) { -+ return type.getType().cast(getClientViewDistance()); -+ } else if (com.destroystokyo.paper.ClientOption.ALLOW_SERVER_LISTINGS == type) { -+ return type.getType().cast(getHandle().allowsListing()); ++ return type.getType().cast(this.getClientViewDistance()); + } else if (com.destroystokyo.paper.ClientOption.TEXT_FILTERING_ENABLED == type) { -+ return type.getType().cast(getHandle().isTextFilteringEnabled()); ++ return type.getType().cast(this.getHandle().isTextFilteringEnabled()); ++ } else if (com.destroystokyo.paper.ClientOption.ALLOW_SERVER_LISTINGS == type) { ++ return type.getType().cast(this.getHandle().allowsListing()); ++ } else if (com.destroystokyo.paper.ClientOption.PARTICLE_STATUS == type) { ++ return type.getType().cast(com.destroystokyo.paper.ClientOption.ParticleStatus.valueOf(this.getHandle().particleStatus.name())); + } + throw new RuntimeException("Unknown settings type"); + } @@ -170,13 +169,14 @@ index faab55435a0c4fc6ff9d117f29a2401677b9f828..69108fd869c7c929fd7971abea520d5a @Override diff --git a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java new file mode 100644 -index 0000000000000000000000000000000000000000..7f8b6462d2a1bbd39a870d2543bebc135f7eb45b +index 0000000000000000000000000000000000000000..99bdd944983a08c7d32edbeef94aecbc3fe5dc18 --- /dev/null +++ b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java -@@ -0,0 +1,18 @@ +@@ -0,0 +1,26 @@ +package io.papermc.paper.world; + +import com.destroystokyo.paper.ClientOption; ++import net.minecraft.server.level.ParticleStatus; +import net.minecraft.world.entity.player.ChatVisiblity; +import org.bukkit.Difficulty; +import org.junit.jupiter.api.Assertions; @@ -191,4 +191,11 @@ index 0000000000000000000000000000000000000000..7f8b6462d2a1bbd39a870d2543bebc13 + Assertions.assertEquals(ChatVisiblity.valueOf(chatVisibility.name()).getKey(), chatVisibility.translationKey(), chatVisibility + "'s translation key doesn't match"); + } + } ++ ++ @Test ++ public void testParticleStatusKeys() { ++ for (ClientOption.ParticleStatus particleStatus : ClientOption.ParticleStatus.values()) { ++ Assertions.assertEquals(ParticleStatus.valueOf(particleStatus.name()).getKey(), particleStatus.translationKey(), particleStatus + "'s translation key doesn't match"); ++ } ++ } +} diff --git a/patches/server/0389-Brand-support.patch b/patches/server/0389-Brand-support.patch index 917f8102d4c8..086f18794fed 100644 --- a/patches/server/0389-Brand-support.patch +++ b/patches/server/0389-Brand-support.patch @@ -5,7 +5,7 @@ Subject: [PATCH] Brand support diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 807068fc6065f71961d34cb4f18b6eb39ae49637..c468947990cf05e554006e51d87b72fad7c28e55 100644 +index 5200a0787fe77e39c0b4f2e5926d3d4da40a50ac..a022d8d412847501346a43d7e45f026381066acb 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -322,6 +322,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { @@ -57,10 +57,10 @@ index b9fbaddcc8239bf737fdea51790f678306e511eb..9a8b08d4b70b8890961e4af7ce6e870a } catch (Exception ex) { ServerGamePacketListenerImpl.LOGGER.error("Couldn\'t dispatch custom payload", ex); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 69108fd869c7c929fd7971abea520d5ab9063f69..3191c66c9e5b9c5fcfd07716733aaa51612d507f 100644 +index 22b7d1a63caae7e48a6166bdc3842801098970b1..c029cd392bc8480cdb29281924fad85163477c71 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3166,6 +3166,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3168,6 +3168,13 @@ public class CraftPlayer extends CraftHumanEntity implements Player { // Paper end }; diff --git a/patches/server/0401-Add-methods-to-get-translation-keys.patch b/patches/server/0401-Add-methods-to-get-translation-keys.patch index de167b55e7ee..57bd581ad8e9 100644 --- a/patches/server/0401-Add-methods-to-get-translation-keys.patch +++ b/patches/server/0401-Add-methods-to-get-translation-keys.patch @@ -109,10 +109,10 @@ index 4921fc085c9d60c74028ef390325e26c598e8df1..4941e0afff8df5f10f06c715b54bf58e case BALL: return FireworkExplosion.Shape.SMALL_BALL; diff --git a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java -index 7f8b6462d2a1bbd39a870d2543bebc135f7eb45b..e8d5c3eb8ad98b2082bdd33d96bfb1d7124ea186 100644 +index 99bdd944983a08c7d32edbeef94aecbc3fe5dc18..9f65459a0f920638931c48777172c85a05570ecf 100644 --- a/src/test/java/io/papermc/paper/world/TranslationKeyTest.java +++ b/src/test/java/io/papermc/paper/world/TranslationKeyTest.java -@@ -1,11 +1,32 @@ +@@ -1,12 +1,33 @@ package io.papermc.paper.world; import com.destroystokyo.paper.ClientOption; @@ -122,6 +122,7 @@ index 7f8b6462d2a1bbd39a870d2543bebc135f7eb45b..e8d5c3eb8ad98b2082bdd33d96bfb1d7 +import net.minecraft.network.chat.contents.TranslatableContents; +import net.minecraft.resources.ResourceKey; +import net.minecraft.resources.ResourceLocation; + import net.minecraft.server.level.ParticleStatus; import net.minecraft.world.entity.player.ChatVisiblity; +import net.minecraft.world.flag.FeatureFlags; +import net.minecraft.world.level.GameRules; @@ -145,8 +146,8 @@ index 7f8b6462d2a1bbd39a870d2543bebc135f7eb45b..e8d5c3eb8ad98b2082bdd33d96bfb1d7 public class TranslationKeyTest { @Test -@@ -15,4 +36,70 @@ public class TranslationKeyTest { - Assertions.assertEquals(ChatVisiblity.valueOf(chatVisibility.name()).getKey(), chatVisibility.translationKey(), chatVisibility + "'s translation key doesn't match"); +@@ -23,4 +44,70 @@ public class TranslationKeyTest { + Assertions.assertEquals(ParticleStatus.valueOf(particleStatus.name()).getKey(), particleStatus.translationKey(), particleStatus + "'s translation key doesn't match"); } } + diff --git a/patches/server/0430-Fix-Player-spawnParticle-x-y-z-precision-loss.patch b/patches/server/0430-Fix-Player-spawnParticle-x-y-z-precision-loss.patch index 066a872e128d..1abb30ce4bf2 100644 --- a/patches/server/0430-Fix-Player-spawnParticle-x-y-z-precision-loss.patch +++ b/patches/server/0430-Fix-Player-spawnParticle-x-y-z-precision-loss.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Fix Player spawnParticle x/y/z precision loss diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 3191c66c9e5b9c5fcfd07716733aaa51612d507f..e7f2d02de2ac58ffa484d8eca5f8b5688e7e02d8 100644 +index c029cd392bc8480cdb29281924fad85163477c71..5ddd627133758439bd5c004843e454907a065245 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2734,7 +2734,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2736,7 +2736,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void spawnParticle(Particle particle, double x, double y, double z, int count, double offsetX, double offsetY, double offsetZ, double extra, T data, boolean force) { diff --git a/patches/server/0466-Add-sendOpLevel-API.patch b/patches/server/0466-Add-sendOpLevel-API.patch index c938f70a51a8..731147a48e7f 100644 --- a/patches/server/0466-Add-sendOpLevel-API.patch +++ b/patches/server/0466-Add-sendOpLevel-API.patch @@ -32,10 +32,10 @@ index 1e5cc810748af34f591d305055fe00a688213617..240a0e487ede08d1dd5050812ca4f68d public boolean isWhiteListed(GameProfile profile) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index e7f2d02de2ac58ffa484d8eca5f8b5688e7e02d8..711697d039da58c1b93392f70a70e1ad827b1646 100644 +index 5ddd627133758439bd5c004843e454907a065245..8ee45e7d413c0c676e3b5a2bcca73aaf978bab1f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -694,6 +694,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -696,6 +696,15 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/0527-Expand-PlayerGameModeChangeEvent.patch b/patches/server/0527-Expand-PlayerGameModeChangeEvent.patch index 26fc7358be4c..12151c8216f9 100644 --- a/patches/server/0527-Expand-PlayerGameModeChangeEvent.patch +++ b/patches/server/0527-Expand-PlayerGameModeChangeEvent.patch @@ -45,7 +45,7 @@ index 7f09119bc7d661e08a960dd2bd46006efe752d3e..d1da3600dc07107309b20ebe6e7c0c4d } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 262aa389b58708ed35ee88569be804c524f6e635..a022f0aee638bb12967b5fd20847fe20e6b286f3 100644 +index 46b58b18aa82dfb6ba56b12dee6ccd2721613f04..4585e9c2397993784068094e70828e3ecb345ccc 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -2335,10 +2335,18 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { @@ -78,7 +78,7 @@ index 262aa389b58708ed35ee88569be804c524f6e635..a022f0aee638bb12967b5fd20847fe20 } } -@@ -2806,6 +2814,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -2803,6 +2811,16 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { } public void loadGameTypes(@Nullable CompoundTag nbt) { @@ -147,10 +147,10 @@ index 2bd2f1cdf3467cacee55094d43bd3eccf61b9aa7..c3b4b800c5a34afa03ed7c31e14f26ca } } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 711697d039da58c1b93392f70a70e1ad827b1646..fc246d30808ad6242f4adfe201adc169a2ddeb90 100644 +index 8ee45e7d413c0c676e3b5a2bcca73aaf978bab1f..28a374f392a919897a8439f0a942f68391f5ca61 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1681,7 +1681,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1683,7 +1683,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { Preconditions.checkArgument(mode != null, "GameMode cannot be null"); if (this.getHandle().connection == null) return; diff --git a/patches/server/0539-Add-PlayerKickEvent-causes.patch b/patches/server/0539-Add-PlayerKickEvent-causes.patch index 7c4ea36fb36b..41f529f53ddb 100644 --- a/patches/server/0539-Add-PlayerKickEvent-causes.patch +++ b/patches/server/0539-Add-PlayerKickEvent-causes.patch @@ -43,7 +43,7 @@ index dbcf183483766f39334d7f7e8336033906625f3f..300929a406905f5ff1ede664d5b99fb0 } diff --git a/src/main/java/net/minecraft/server/MinecraftServer.java b/src/main/java/net/minecraft/server/MinecraftServer.java -index 67a9bc450f545dd7b05398968a278a14f1e518fe..7ab9a9c04f94a68dccb5ec9bfc8171bfc02927a2 100644 +index c2e535834f6b94f52c835a8d89c98220eb13bce9..8e0bc6559aad75a713e1760ea17e5004686d7e7a 100644 --- a/src/main/java/net/minecraft/server/MinecraftServer.java +++ b/src/main/java/net/minecraft/server/MinecraftServer.java @@ -2325,7 +2325,7 @@ public abstract class MinecraftServer extends ReentrantBlockableEventLoop= 2.0F) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 1cbb5b0b53d9c8f0bee82d4f4ee2cfd5caf835db..01062856483557c874f54bc610c3d13fca44ef05 100644 +index e06816ba7ba031f51337d937168e70562f5dade4..7a1a83224fff114f2e318e35219517062cc7a5e2 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -2603,6 +2603,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2605,6 +2605,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().onUpdateAbilities(); } diff --git a/patches/server/0783-Win-Screen-API.patch b/patches/server/0783-Win-Screen-API.patch index fa16e65f238a..3b6b4536a995 100644 --- a/patches/server/0783-Win-Screen-API.patch +++ b/patches/server/0783-Win-Screen-API.patch @@ -7,10 +7,10 @@ Subject: [PATCH] Win Screen API public net.minecraft.server.level.ServerPlayer seenCredits diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 01062856483557c874f54bc610c3d13fca44ef05..b6aa646b28aef25e07c6e7fc0dfc2a252671e6c5 100644 +index 7a1a83224fff114f2e318e35219517062cc7a5e2..f338591aa90a0dc50ce4c6088827043e2c966aca 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1322,6 +1322,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1324,6 +1324,25 @@ public class CraftPlayer extends CraftHumanEntity implements Player { this.getHandle().connection.send(packet); } diff --git a/patches/server/0808-Expand-PlayerItemMendEvent.patch b/patches/server/0808-Expand-PlayerItemMendEvent.patch index 32a8f1a46484..37234ecb5331 100644 --- a/patches/server/0808-Expand-PlayerItemMendEvent.patch +++ b/patches/server/0808-Expand-PlayerItemMendEvent.patch @@ -30,10 +30,10 @@ index 3a7af27bb1ce0cbe56bd3760cd400083daf98d4c..bf0838f574fa3fb9654e087d602b8d38 if (l > 0) { // this.value = l; // CraftBukkit - update exp value of orb for PlayerItemMendEvent calls // Paper - the value field should not be mutated here because it doesn't take "count" into account diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b6aa646b28aef25e07c6e7fc0dfc2a252671e6c5..d4cf68ad626e6a7d5facaa0a7474a7d4ad7981db 100644 +index f338591aa90a0dc50ce4c6088827043e2c966aca..32aa0a9b46d6056fe5291a84c17b72c96d469bb5 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1875,11 +1875,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1877,11 +1877,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { handle.serverLevel(), itemstack, amount ); int i = Math.min(possibleDurabilityFromXp, itemstack.getDamageValue()); @@ -49,7 +49,7 @@ index b6aa646b28aef25e07c6e7fc0dfc2a252671e6c5..d4cf68ad626e6a7d5facaa0a7474a7d4 } } diff --git a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java -index d63b9c666cf6eb1de114c5c89867b8d233267c9e..dd0d19faccbc49b5f9718e2df9f004bb17a9ef7e 100644 +index ec5c16f64d4e797b4c09bd0d3ae6f143d8795612..8fba20a2ff4ef43aa3bda1116f58b696bde2b9b8 100644 --- a/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java +++ b/src/main/java/org/bukkit/craftbukkit/event/CraftEventFactory.java @@ -1284,10 +1284,10 @@ public class CraftEventFactory { diff --git a/patches/server/0827-Fix-BanList-API.patch b/patches/server/0827-Fix-BanList-API.patch index f41fc8afb41e..94c16a133f56 100644 --- a/patches/server/0827-Fix-BanList-API.patch +++ b/patches/server/0827-Fix-BanList-API.patch @@ -208,10 +208,10 @@ index 172202accf4448a933fcf1ff820316c7910dd7f7..50ee7656580d386db473c054f5c5ec57 return null; } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index d4cf68ad626e6a7d5facaa0a7474a7d4ad7981db..86af7b3bcefe9201a56868388be8789bfdeaa22b 100644 +index 32aa0a9b46d6056fe5291a84c17b72c96d469bb5..70aeb3b5507df1247f22812bdc82da7e3c41ce54 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1769,23 +1769,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1771,23 +1771,23 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } @Override @@ -240,7 +240,7 @@ index d4cf68ad626e6a7d5facaa0a7474a7d4ad7981db..86af7b3bcefe9201a56868388be8789b if (kickPlayer) { this.kickPlayer(reason); } -@@ -1793,12 +1793,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1795,12 +1795,12 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } @Override diff --git a/patches/server/0846-Bandaid-fix-for-Effect.patch b/patches/server/0846-Bandaid-fix-for-Effect.patch index edd56789281c..8b7e95beb569 100644 --- a/patches/server/0846-Bandaid-fix-for-Effect.patch +++ b/patches/server/0846-Bandaid-fix-for-Effect.patch @@ -81,10 +81,10 @@ index c0f5e4497e1ffc93f56fc2b5748bcf76569e8c3a..188bd33f46b6baaa3fc21c9da6fa9a9d // Special case: the axis is optional for ELECTRIC_SPARK Preconditions.checkArgument(effect.getData() == null || effect == Effect.ELECTRIC_SPARK, "Wrong kind of data for the %s effect", effect); diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 86af7b3bcefe9201a56868388be8789bfdeaa22b..c582b8f307e6b8fd4991702d92c2e74c3012763a 100644 +index 70aeb3b5507df1247f22812bdc82da7e3c41ce54..6c615f61bdea507ce49e0970bd5c39ec8b3f1699 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -934,7 +934,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -936,7 +936,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { Preconditions.checkArgument(effect != null, "Effect cannot be null"); if (data != null) { Preconditions.checkArgument(effect.getData() != null, "Effect.%s does not have a valid Data", effect); diff --git a/patches/server/0854-Add-Listing-API-for-Player.patch b/patches/server/0854-Add-Listing-API-for-Player.patch index bcdfa3834aff..0e8f13870dbd 100644 --- a/patches/server/0854-Add-Listing-API-for-Player.patch +++ b/patches/server/0854-Add-Listing-API-for-Player.patch @@ -122,7 +122,7 @@ index d92fb522d88a790d9cea2e6c4edad30bb73298fc..a20e5f896cfbd0a3e60b741562194e30 // Paper end - Use single player info update packet on join player.sentListPacket = true; diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index c582b8f307e6b8fd4991702d92c2e74c3012763a..334303fbb2cf0086ad133bdc07b27e833162f71a 100644 +index 6c615f61bdea507ce49e0970bd5c39ec8b3f1699..8c884ffca6c5a7419d24bb36b2a7f7c29bb0eccc 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -206,6 +206,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @@ -133,7 +133,7 @@ index c582b8f307e6b8fd4991702d92c2e74c3012763a..334303fbb2cf0086ad133bdc07b27e83 private static final WeakHashMap> pluginWeakReferences = new WeakHashMap<>(); private int hash = 0; private double health = 20; -@@ -2114,7 +2115,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2116,7 +2117,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { otherPlayer.setUUID(uuidOverride); } // Paper end @@ -142,7 +142,7 @@ index c582b8f307e6b8fd4991702d92c2e74c3012763a..334303fbb2cf0086ad133bdc07b27e83 if (original != null) otherPlayer.setUUID(original); // Paper - uuid override } -@@ -2218,6 +2219,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -2220,6 +2221,41 @@ public class CraftPlayer extends CraftHumanEntity implements Player { return (entity != null) ? this.canSee(entity) : false; // If we can't find it, we can't see it } diff --git a/patches/server/0884-Add-player-idle-duration-API.patch b/patches/server/0884-Add-player-idle-duration-API.patch index 0229ed41a748..dbe5d9c6d278 100644 --- a/patches/server/0884-Add-player-idle-duration-API.patch +++ b/patches/server/0884-Add-player-idle-duration-API.patch @@ -6,10 +6,10 @@ Subject: [PATCH] Add player idle duration API Implements API for getting and resetting a player's idle duration. diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index de97ca0a25d70de50dfcc6b092f5e58facfb5a3a..b4f967c8cc0800d0606e7ad32ff8a350387c6132 100644 +index ddf0c80d10b63ddcb52446ec62fc16279c994d95..e0ce8ec416490b2e408c823dbf2216e1a1dbcf8f 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3441,6 +3441,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3443,6 +3443,18 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/0887-Allow-null-itemstack-for-Player-sendEquipmentChange.patch b/patches/server/0887-Allow-null-itemstack-for-Player-sendEquipmentChange.patch index 35c74fffabb6..a347ba6361d7 100644 --- a/patches/server/0887-Allow-null-itemstack-for-Player-sendEquipmentChange.patch +++ b/patches/server/0887-Allow-null-itemstack-for-Player-sendEquipmentChange.patch @@ -5,10 +5,10 @@ Subject: [PATCH] Allow null itemstack for Player#sendEquipmentChange diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index b4f967c8cc0800d0606e7ad32ff8a350387c6132..ccc65e07d0d1bb6e94e861e7f50977ba61462ca4 100644 +index e0ce8ec416490b2e408c823dbf2216e1a1dbcf8f..b4bc69ae59272702e790e419977cdfb50b416202 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1144,7 +1144,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1146,7 +1146,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void sendEquipmentChange(LivingEntity entity, EquipmentSlot slot, ItemStack item) { diff --git a/patches/server/0907-Add-experience-points-API.patch b/patches/server/0907-Add-experience-points-API.patch index 7762f4b05de2..a4dc47029c1a 100644 --- a/patches/server/0907-Add-experience-points-API.patch +++ b/patches/server/0907-Add-experience-points-API.patch @@ -18,10 +18,10 @@ index aca888c2f02b09ac6739bdc81b194c4527dd69f5..a19a795deaa7f46c92b97912e2ade006 // Paper start - send while respecting visibility private static void sendSoundEffect(Player fromEntity, double x, double y, double z, SoundEvent soundEffect, SoundSource soundCategory, float volume, float pitch) { diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index ccc65e07d0d1bb6e94e861e7f50977ba61462ca4..58d12409447903f855baa6beb149aa658bf7b1bb 100644 +index b4bc69ae59272702e790e419977cdfb50b416202..7add49e6af81febd6515ad2e0499a8f5ef5523d8 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1943,6 +1943,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1945,6 +1945,49 @@ public class CraftPlayer extends CraftHumanEntity implements Player { Preconditions.checkArgument(exp >= 0, "Total experience points must not be negative (%s)", exp); this.getHandle().totalExperience = exp; } diff --git a/patches/server/0974-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch b/patches/server/0974-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch index dc903d6e3914..d00745e1593c 100644 --- a/patches/server/0974-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch +++ b/patches/server/0974-Improve-Maps-in-item-frames-performance-and-bug-fixe.patch @@ -25,10 +25,10 @@ index 24df2baaeb34eccbe148ac0e518f44e9a869ffa5..ce148cf5930cdcf0163c7f6416cbbd89 } } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index df21cd1bd2a3dda7169edbea18bbfdf043db76f8..b6b8687fc79c060cd65e04dc67c855c775ab7684 100644 +index 4275a62a217f20720cf51148229d865622611c7c..4eb7c4b33e4e89e9fbfb7e0daaa91eb19d9c8a8c 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java -@@ -2811,6 +2811,14 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { +@@ -2808,6 +2808,14 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player { this.awardStat(Stats.DROP); } diff --git a/patches/server/1028-Improve-entity-effect-API.patch b/patches/server/1028-Improve-entity-effect-API.patch index 20be4e875383..ed5ad1a2187b 100644 --- a/patches/server/1028-Improve-entity-effect-API.patch +++ b/patches/server/1028-Improve-entity-effect-API.patch @@ -25,10 +25,10 @@ index b0e49ad831f1ebc6b126bf82c5fddaebffb91312..179886dcbda29c5cdb7dbd43e44951ae + // Paper end - broadcast hurt animation } diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 766c1e80997d1bed99f4ebf9499eec60bf70a536..f668359f2fbe765c68fb575c31444bc0404cba0f 100644 +index 7fc6d5cd17bcc12b6e11d16d3436e8f8146de19e..7859d2d2ac91f85dcb3f5cdc56665eacc9642d11 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -1294,6 +1294,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1296,6 +1296,11 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void sendHurtAnimation(float yaw) { @@ -40,7 +40,7 @@ index 766c1e80997d1bed99f4ebf9499eec60bf70a536..f668359f2fbe765c68fb575c31444bc0 if (this.getHandle().connection == null) { return; } -@@ -1303,7 +1308,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -1305,7 +1310,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { * This makes no sense. We'll add 90 to it so that 0 = front, clockwise from there. */ float actualYaw = yaw + 90; @@ -49,7 +49,7 @@ index 766c1e80997d1bed99f4ebf9499eec60bf70a536..f668359f2fbe765c68fb575c31444bc0 } @Override -@@ -3540,4 +3545,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3542,4 +3547,14 @@ public class CraftPlayer extends CraftHumanEntity implements Player { public void setSendViewDistance(final int viewDistance) { throw new UnsupportedOperationException("Not implemented yet"); } diff --git a/patches/server/1038-Moonrise-optimisation-patches.patch b/patches/server/1038-Moonrise-optimisation-patches.patch index 2ed527081852..f26b4633f5f9 100644 --- a/patches/server/1038-Moonrise-optimisation-patches.patch +++ b/patches/server/1038-Moonrise-optimisation-patches.patch @@ -27545,7 +27545,7 @@ index 32f8186b1502b481c1100f7fdba0339ae3dd34fa..70efc63102b3d3727be376d42f1bef70 return crashreportsystemdetails; } diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index e2527f3e2b96df539c765ae23c83a09d3298d430..8ceeebb561046933cba0725e15732fa074226884 100644 +index 908feae4c29b8ba40d575d0399ce1dc54b46267e..2590415072ad0817b6080f742e136036153326c1 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -218,7 +218,7 @@ import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; @@ -36139,10 +36139,10 @@ index 6dc3fc701d1e16a51d99f934ea3dc192363a6762..2058671a77cac4cfa6494461a5142aba // Paper start - implement pointers diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index f668359f2fbe765c68fb575c31444bc0404cba0f..4fe26b5e492b5cc3ee6b99ec6ade4938acfc9ed8 100644 +index 7859d2d2ac91f85dcb3f5cdc56665eacc9642d11..b7544dd755058f41e8c7067257b63fd63c87de86 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3523,7 +3523,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3525,7 +3525,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setViewDistance(final int viewDistance) { @@ -36153,7 +36153,7 @@ index f668359f2fbe765c68fb575c31444bc0404cba0f..4fe26b5e492b5cc3ee6b99ec6ade4938 } @Override -@@ -3533,7 +3535,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3535,7 +3537,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setSimulationDistance(final int simulationDistance) { @@ -36164,7 +36164,7 @@ index f668359f2fbe765c68fb575c31444bc0404cba0f..4fe26b5e492b5cc3ee6b99ec6ade4938 } @Override -@@ -3543,7 +3547,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3545,7 +3549,9 @@ public class CraftPlayer extends CraftHumanEntity implements Player { @Override public void setSendViewDistance(final int viewDistance) { diff --git a/patches/server/1039-API-for-checking-sent-chunks.patch b/patches/server/1039-API-for-checking-sent-chunks.patch index 4f4d68a8d0f9..2392b0f73f87 100644 --- a/patches/server/1039-API-for-checking-sent-chunks.patch +++ b/patches/server/1039-API-for-checking-sent-chunks.patch @@ -5,10 +5,10 @@ Subject: [PATCH] API for checking sent chunks diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -index 4fe26b5e492b5cc3ee6b99ec6ade4938acfc9ed8..2c7ec674f55b3178b9dcba7f2bc1ff5efccb50ea 100644 +index b7544dd755058f41e8c7067257b63fd63c87de86..2e885e8838c24b3ae26aa4abb28e78b6936a7087 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java -@@ -3510,6 +3510,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { +@@ -3512,6 +3512,35 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } // Paper end diff --git a/patches/server/1056-Allow-using-old-ender-pearl-behavior.patch b/patches/server/1056-Allow-using-old-ender-pearl-behavior.patch index 116240194a22..f977155561c6 100644 --- a/patches/server/1056-Allow-using-old-ender-pearl-behavior.patch +++ b/patches/server/1056-Allow-using-old-ender-pearl-behavior.patch @@ -9,7 +9,7 @@ When enabled, ender pearls will not load chunks and will save to the world inste public net.minecraft.world.entity.projectile.Projectile cachedOwner diff --git a/src/main/java/net/minecraft/server/level/ServerPlayer.java b/src/main/java/net/minecraft/server/level/ServerPlayer.java -index 4e4e5b7e8c387cf13cf5bc5e39d334c3222c9103..cffbd3300967e5d80b5973b35a76235bb2aa1b73 100644 +index 1d7eb8e31ee24baee5d21923835d982ab7451068..119cca1dc32984df5f7b0e639221b9793afec353 100644 --- a/src/main/java/net/minecraft/server/level/ServerPlayer.java +++ b/src/main/java/net/minecraft/server/level/ServerPlayer.java @@ -836,6 +836,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple @@ -20,7 +20,7 @@ index 4e4e5b7e8c387cf13cf5bc5e39d334c3222c9103..cffbd3300967e5d80b5973b35a76235b if (entityenderpearl.isRemoved()) { ServerPlayer.LOGGER.warn("Trying to save removed ender pearl, skipping"); -@@ -3146,7 +3147,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple +@@ -3143,7 +3144,7 @@ public class ServerPlayer extends net.minecraft.world.entity.player.Player imple } public static long placeEnderPearlTicket(ServerLevel world, ChunkPos chunkPos) {