diff options
Diffstat (limited to 'patches/unapplied/server/0065-Complete-resource-pack-API.patch')
-rw-r--r-- | patches/unapplied/server/0065-Complete-resource-pack-API.patch | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/patches/unapplied/server/0065-Complete-resource-pack-API.patch b/patches/unapplied/server/0065-Complete-resource-pack-API.patch new file mode 100644 index 0000000000..cb2efb14cc --- /dev/null +++ b/patches/unapplied/server/0065-Complete-resource-pack-API.patch @@ -0,0 +1,85 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jedediah Smith <[email protected]> +Date: Sat, 4 Apr 2015 23:17:52 -0400 +Subject: [PATCH] Complete resource pack API + + +diff --git a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +index dae74cda3b9faa0c8aeecc6c7bc329950033f653..dac2665008b5ba49134c84373f916c5c6ed355e9 100644 +--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java ++++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +@@ -1756,8 +1756,11 @@ public class ServerGamePacketListenerImpl implements ServerPlayerConnection, Tic + ServerGamePacketListenerImpl.LOGGER.info("Disconnecting {} due to resource pack rejection", this.player.getName()); + this.disconnect(Component.translatable("multiplayer.requiredTexturePrompt.disconnect")); + } +- this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), PlayerResourcePackStatusEvent.Status.values()[packet.action.ordinal()])); // CraftBukkit +- ++ // Paper start ++ PlayerResourcePackStatusEvent.Status packStatus = PlayerResourcePackStatusEvent.Status.values()[packet.action.ordinal()]; ++ player.getBukkitEntity().setResourcePackStatus(packStatus); ++ this.cserver.getPluginManager().callEvent(new PlayerResourcePackStatusEvent(this.getCraftPlayer(), packStatus)); // CraftBukkit ++ // Paper end + } + + @Override +diff --git a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +index 470eac3191c09c7c7fe4b36165ed1c213bac421c..31785e1cee09977356ee2b65a7d41df2c959d1b2 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +@@ -178,6 +178,10 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + private double healthScale = 20; + private CraftWorldBorder clientWorldBorder = null; + private BorderChangeListener clientWorldBorderListener = this.createWorldBorderListener(); ++ // Paper start ++ private org.bukkit.event.player.PlayerResourcePackStatusEvent.Status resourcePackStatus; ++ private String resourcePackHash; ++ // Paper end + + public CraftPlayer(CraftServer server, ServerPlayer entity) { + super(server, entity); +@@ -2361,6 +2365,45 @@ public class CraftPlayer extends CraftHumanEntity implements Player { + public boolean getAffectsSpawning() { + return this.getHandle().affectsSpawning; + } ++ ++ @Override ++ public void setResourcePack(@NotNull String url, @NotNull String hash) { ++ this.setResourcePack(url, hash, false, null); ++ } ++ ++ @Override ++ public void setResourcePack(@NotNull String url, @NotNull String hash, boolean required) { ++ this.setResourcePack(url, hash, required, null); ++ } ++ ++ @Override ++ public void setResourcePack(@NotNull String url, @NotNull String hash, boolean required, net.kyori.adventure.text.Component resourcePackPrompt) { ++ Validate.notNull(url, "Resource pack URL cannot be null"); ++ Validate.notNull(hash, "Hash cannot be null"); ++ net.minecraft.network.chat.Component promptComponent = resourcePackPrompt != null ? ++ io.papermc.paper.adventure.PaperAdventure.asVanilla(resourcePackPrompt) : ++ null; ++ this.getHandle().sendTexturePack(url, hash, required, promptComponent); ++ } ++ ++ @Override ++ public org.bukkit.event.player.PlayerResourcePackStatusEvent.Status getResourcePackStatus() { ++ return this.resourcePackStatus; ++ } ++ ++ @Override ++ public String getResourcePackHash() { ++ return this.resourcePackHash; ++ } ++ ++ @Override ++ public boolean hasResourcePack() { ++ return this.resourcePackStatus == org.bukkit.event.player.PlayerResourcePackStatusEvent.Status.SUCCESSFULLY_LOADED; ++ } ++ ++ public void setResourcePackStatus(org.bukkit.event.player.PlayerResourcePackStatusEvent.Status status) { ++ this.resourcePackStatus = status; ++ } + // Paper end + + @Override |