Mirror von
https://github.com/PaperMC/Velocity.git
synchronisiert 2024-11-17 05:20:14 +01:00
more work
Dieser Commit ist enthalten in:
Ursprung
51dc67f44b
Commit
4599d15003
@ -34,6 +34,7 @@ import com.google.common.base.Preconditions;
|
|||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
import com.velocitypowered.api.network.ProtocolVersion;
|
import com.velocitypowered.api.network.ProtocolVersion;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import net.kyori.adventure.nbt.BinaryTag;
|
||||||
import net.kyori.adventure.nbt.CompoundBinaryTag;
|
import net.kyori.adventure.nbt.CompoundBinaryTag;
|
||||||
import net.kyori.adventure.nbt.ListBinaryTag;
|
import net.kyori.adventure.nbt.ListBinaryTag;
|
||||||
import net.kyori.adventure.text.format.NamedTextColor;
|
import net.kyori.adventure.text.format.NamedTextColor;
|
||||||
@ -49,8 +50,16 @@ public class ChatData {
|
|||||||
private final String identifier;
|
private final String identifier;
|
||||||
private final int id;
|
private final int id;
|
||||||
private final Decoration chatDecoration;
|
private final Decoration chatDecoration;
|
||||||
private Decoration narrationDecoration;
|
private final Decoration narrationDecoration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents a ChatRegistry entry.
|
||||||
|
*
|
||||||
|
* @param id chat type id
|
||||||
|
* @param identifier chat type identifier
|
||||||
|
* @param chatDecoration chat decoration
|
||||||
|
* @param narrationDecoration narration decoration
|
||||||
|
*/
|
||||||
public ChatData(int id, String identifier, Decoration chatDecoration, Decoration narrationDecoration) {
|
public ChatData(int id, String identifier, Decoration chatDecoration, Decoration narrationDecoration) {
|
||||||
this.id = id;
|
this.id = id;
|
||||||
this.identifier = identifier;
|
this.identifier = identifier;
|
||||||
@ -105,7 +114,14 @@ public class ChatData {
|
|||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Encodes the chat data for the network.
|
||||||
|
* @param version The protocol version to encode this chat data for
|
||||||
|
* @return The encoded data structure
|
||||||
|
*/
|
||||||
|
public CompoundBinaryTag encodeAsCompoundTag(ProtocolVersion version) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public static class Decoration implements Translatable {
|
public static class Decoration implements Translatable {
|
||||||
|
@ -52,7 +52,16 @@ public final class ChatRegistry {
|
|||||||
return builder.build();
|
return builder.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
public BinaryTag build() {
|
/**
|
||||||
return null;
|
* Serialises the Chat Registry for sending over the network.
|
||||||
|
* @param version the version to encode for
|
||||||
|
* @return The serialised tag list
|
||||||
|
*/
|
||||||
|
public ListBinaryTag encodeRegistry(ProtocolVersion version) {
|
||||||
|
final ListBinaryTag.Builder<BinaryTag> builder = ListBinaryTag.builder();
|
||||||
|
for (ChatData data : registeredChatTypes.values()) {
|
||||||
|
builder.add(data.encodeAsCompoundTag(version));
|
||||||
|
}
|
||||||
|
return builder.build();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -393,7 +393,11 @@ public class JoinGame implements MinecraftPacket {
|
|||||||
registryContainer.put("minecraft:dimension_type", dimensionRegistryEntry.build());
|
registryContainer.put("minecraft:dimension_type", dimensionRegistryEntry.build());
|
||||||
registryContainer.put("minecraft:worldgen/biome", biomeRegistry);
|
registryContainer.put("minecraft:worldgen/biome", biomeRegistry);
|
||||||
if (version.compareTo(ProtocolVersion.MINECRAFT_1_19) >= 0) {
|
if (version.compareTo(ProtocolVersion.MINECRAFT_1_19) >= 0) {
|
||||||
registryContainer.put("minecraft:chat_type", chatTypeRegistry.build());
|
final ListBinaryTag encodedChatRegistry = chatTypeRegistry.encodeRegistry(version);
|
||||||
|
CompoundBinaryTag.Builder chatRegistryEntry = CompoundBinaryTag.builder();
|
||||||
|
chatRegistryEntry.putString("type", "minecraft:chat_type");
|
||||||
|
chatRegistryEntry.put("value", encodedChatRegistry);
|
||||||
|
registryContainer.put("minecraft:chat_type", encodedChatRegistry);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
registryContainer.put("dimension", encodedDimensionRegistry);
|
registryContainer.put("dimension", encodedDimensionRegistry);
|
||||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren