From c00438b3944dd2110a053ed9de3dcc8d7caeac4e Mon Sep 17 00:00:00 2001 From: Doc Date: Wed, 13 Dec 2023 07:33:49 +1100 Subject: [PATCH] SPIGOT-7530, #1313: Add Player#removeResourcePack --- .../bukkit/craftbukkit/entity/CraftPlayer.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java index 6fbdc354a..373a7e615 100644 --- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java @@ -43,6 +43,7 @@ import net.minecraft.network.chat.IChatBaseComponent; import net.minecraft.network.chat.PlayerChatMessage; import net.minecraft.network.protocol.Packet; import net.minecraft.network.protocol.common.ClientboundCustomPayloadPacket; +import net.minecraft.network.protocol.common.ClientboundResourcePackPopPacket; import net.minecraft.network.protocol.common.ClientboundResourcePackPushPacket; import net.minecraft.network.protocol.common.custom.CustomPacketPayload; import net.minecraft.network.protocol.game.ClientboundClearTitlesPacket; @@ -913,7 +914,7 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } if (entity.connection == null) { - return false; + return false; } if (entity.isVehicle()) { @@ -1735,6 +1736,19 @@ public class CraftPlayer extends CraftHumanEntity implements Player { } } + @Override + public void removeResourcePack(UUID id) { + Preconditions.checkArgument(id != null, "Resource pack id cannot be null"); + if (getHandle().connection == null) return; + getHandle().connection.send(new ClientboundResourcePackPopPacket(Optional.of(id))); + } + + @Override + public void removeResourcePacks() { + if (getHandle().connection == null) return; + getHandle().connection.send(new ClientboundResourcePackPopPacket(Optional.empty())); + } + public void addChannel(String channel) { Preconditions.checkState(channels.size() < 128, "Cannot register channel '%s'. Too many channels registered!", channel); channel = StandardMessenger.validateAndCorrectChannel(channel);