Snapshot 20w45a
This commit is contained in:
@@ -871,12 +871,13 @@ public class ConnectedPlayer implements MinecraftConnectionAssociation, Player {
|
||||
ResourcePackRequest request = new ResourcePackRequest();
|
||||
request.setUrl(url);
|
||||
request.setHash("");
|
||||
request.setRequired(false);
|
||||
connection.write(request);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendResourcePack(String url, byte[] hash) {
|
||||
public void sendResourcePack(String url, byte[] hash, boolean isRequired) {
|
||||
Preconditions.checkNotNull(url, "url");
|
||||
Preconditions.checkNotNull(hash, "hash");
|
||||
Preconditions.checkArgument(hash.length == 20, "Hash length is not 20");
|
||||
@@ -885,10 +886,16 @@ public class ConnectedPlayer implements MinecraftConnectionAssociation, Player {
|
||||
ResourcePackRequest request = new ResourcePackRequest();
|
||||
request.setUrl(url);
|
||||
request.setHash(ByteBufUtil.hexDump(hash));
|
||||
request.setRequired(isRequired);
|
||||
connection.write(request);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void sendResourcePack(String url, byte[] hash) {
|
||||
sendResourcePack(url, hash, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sends a {@link KeepAlive} packet to the player with a random ID.
|
||||
* The response will be ignored by Velocity as it will not match the
|
||||
|
@@ -30,6 +30,7 @@ public class ResourcePackRequest implements MinecraftPacket {
|
||||
|
||||
private @MonotonicNonNull String url;
|
||||
private @MonotonicNonNull String hash;
|
||||
private boolean isRequired; // 1.17+
|
||||
|
||||
public @Nullable String getUrl() {
|
||||
return url;
|
||||
@@ -39,6 +40,10 @@ public class ResourcePackRequest implements MinecraftPacket {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
public boolean isRequired() {
|
||||
return isRequired;
|
||||
}
|
||||
|
||||
public @Nullable String getHash() {
|
||||
return hash;
|
||||
}
|
||||
@@ -47,10 +52,17 @@ public class ResourcePackRequest implements MinecraftPacket {
|
||||
this.hash = hash;
|
||||
}
|
||||
|
||||
public void setRequired(boolean required) {
|
||||
isRequired = required;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void decode(ByteBuf buf, Direction direction, ProtocolVersion protocolVersion) {
|
||||
this.url = ProtocolUtils.readString(buf);
|
||||
this.hash = ProtocolUtils.readString(buf);
|
||||
if (protocolVersion.compareTo(ProtocolVersion.MINECRAFT_1_17) >= 0) {
|
||||
this.isRequired = buf.readBoolean();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -60,6 +72,9 @@ public class ResourcePackRequest implements MinecraftPacket {
|
||||
}
|
||||
ProtocolUtils.writeString(buf, url);
|
||||
ProtocolUtils.writeString(buf, hash);
|
||||
if (protocolVersion.compareTo(ProtocolVersion.MINECRAFT_1_17) >= 0) {
|
||||
buf.writeBoolean(isRequired);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user