diff --git a/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/ConfigSessionHandler.java b/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/ConfigSessionHandler.java index 1617fb138..32c07c042 100644 --- a/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/ConfigSessionHandler.java +++ b/proxy/src/main/java/com/velocitypowered/proxy/connection/backend/ConfigSessionHandler.java @@ -137,8 +137,13 @@ public class ConfigSessionHandler implements MinecraftSessionHandler { if (serverConn.getPlayer().resourcePackHandler().hasPackAppliedByHash(toSend.getHash())) { // Do not apply a resource pack that has already been applied if (serverConn.getConnection() != null) { + // We can technically skip these first 2 states, however, for conformity to normal state flow expectations... serverConn.getConnection().write(new ResourcePackResponsePacket( packet.getId(), packet.getHash(), PlayerResourcePackStatusEvent.Status.ACCEPTED)); + serverConn.getConnection().write(new ResourcePackResponsePacket( + packet.getId(), packet.getHash(), PlayerResourcePackStatusEvent.Status.DOWNLOADED)); + serverConn.getConnection().write(new ResourcePackResponsePacket( + packet.getId(), packet.getHash(), PlayerResourcePackStatusEvent.Status.SUCCESSFUL)); } if (modifiedPack) { logger.warn("A plugin has tried to modify a ResourcePack provided by the backend server "