geforkt von Mirrors/Paper
3996e6ef29
Upstream has released updates that appear to apply and compile correctly. This update has not been tested by PaperMC and as with ANY update, please do your own testing Bukkit Changes: c7c11188 SPIGOT-2620: Add Player#sendBlockChanges() f63d2b44 Improve annotation test on parameters 3372e7b4 SPIGOT-1244, SPIGOT-6860, SPIGOT-6874: Various Javadoc and formatting fixes a1e8a9ab PR-793: Ignore .checkstyle file generated by Eclipse IDE CraftBukkit Changes: c2c39089e SPIGOT-2620: Add Player#sendBlockChanges() 8209158db PR-1113: Ignore .checkstyle file generated by Eclipse IDE Spigot Changes: 4aa5ead2 Rebuild patches
94 Zeilen
4.5 KiB
Diff
94 Zeilen
4.5 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Jedediah Smith <jedediah@silencegreys.com>
|
|
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 5bc128440e2f12e2c635db70280c46dbb5f3f3c0..3846905bafd92918349793d346aca5b3a3529e9b 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);
|
|
@@ -2171,6 +2176,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
|