diff options
Diffstat (limited to 'patches/server/0064-Complete-resource-pack-API.patch')
-rw-r--r-- | patches/server/0064-Complete-resource-pack-API.patch | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/patches/server/0064-Complete-resource-pack-API.patch b/patches/server/0064-Complete-resource-pack-API.patch new file mode 100644 index 0000000000..cac7d1f1fb --- /dev/null +++ b/patches/server/0064-Complete-resource-pack-API.patch @@ -0,0 +1,93 @@ +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 e21a6961bab606036440f2a6bd90998b4129ae10..9f0a5b950a022aa2a3d3d60837fdb9023f041a9b 100644 +--- a/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java ++++ b/src/main/java/net/minecraft/server/network/ServerGamePacketListenerImpl.java +@@ -1768,8 +1768,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 342cd3c6ffdcf46f0329e072fae446c5e9665e33..307c76b2d06b748304d28d6634e86bb91f3ded67 100644 +--- a/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java ++++ b/src/main/java/org/bukkit/craftbukkit/entity/CraftPlayer.java +@@ -150,6 +150,7 @@ import org.bukkit.plugin.Plugin; + import org.bukkit.plugin.messaging.StandardMessenger; + import org.bukkit.profile.PlayerProfile; + import org.bukkit.scoreboard.Scoreboard; ++import org.jetbrains.annotations.NotNull; + + import net.md_5.bungee.api.chat.BaseComponent; // Spigot + +@@ -168,6 +169,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); +@@ -2206,6 +2211,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 |