chore(bedrock): send chat messages with xuid
now you can mute people etc in bedrock
This commit is contained in:
parent
2122f2effb
commit
b17096d96b
@ -39,6 +39,16 @@ impl SText<'_> {
|
|||||||
impl SText<'static> {
|
impl SText<'static> {
|
||||||
#[must_use]
|
#[must_use]
|
||||||
pub fn new(message: String, source_name: String) -> Self {
|
pub fn new(message: String, source_name: String) -> Self {
|
||||||
|
Self::chat_with_xuid(message, source_name, String::new(), None)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[must_use]
|
||||||
|
pub fn chat_with_xuid(
|
||||||
|
message: String,
|
||||||
|
source_name: String,
|
||||||
|
xuid: String,
|
||||||
|
filtered_message: Option<String>,
|
||||||
|
) -> Self {
|
||||||
Self {
|
Self {
|
||||||
needs_translation: false,
|
needs_translation: false,
|
||||||
r#type: TextPacketType::Chat,
|
r#type: TextPacketType::Chat,
|
||||||
@ -49,9 +59,9 @@ impl SText<'static> {
|
|||||||
message
|
message
|
||||||
}),
|
}),
|
||||||
parameters: Vec::new(),
|
parameters: Vec::new(),
|
||||||
xuid: Cow::Borrowed(""),
|
xuid: Cow::Owned(xuid),
|
||||||
platform_chat_id: Cow::Borrowed(""),
|
platform_chat_id: Cow::Borrowed(""),
|
||||||
filtered_message: None,
|
filtered_message: filtered_message.map(Cow::Owned),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -1066,8 +1066,11 @@ impl BedrockClient {
|
|||||||
false,
|
false,
|
||||||
);
|
);
|
||||||
|
|
||||||
let be_packet = SText::new(
|
let be_packet = SText::chat_with_xuid(
|
||||||
message, gameprofile.name.clone()
|
message,
|
||||||
|
gameprofile.name.clone(),
|
||||||
|
packet.xuid.into_owned(),
|
||||||
|
packet.filtered_message.map(std::borrow::Cow::into_owned),
|
||||||
);
|
);
|
||||||
|
|
||||||
entity.world.load().broadcast_editioned(&je_packet, &be_packet).await;
|
entity.world.load().broadcast_editioned(&je_packet, &be_packet).await;
|
||||||
|
|||||||
@ -451,14 +451,14 @@ pub enum DisconnectReason {
|
|||||||
IncompatiblePack = 59,
|
IncompatiblePack = 59,
|
||||||
OutOfStorage = 60,
|
OutOfStorage = 60,
|
||||||
InvalidLevel = 61,
|
InvalidLevel = 61,
|
||||||
DisconnectPacketDeprecated = 62,
|
DisconnectPacket = 62,
|
||||||
BlockMismatch = 63,
|
BlockMismatch = 63,
|
||||||
InvalidHeights = 64,
|
InvalidHeights = 64,
|
||||||
InvalidWidths = 65,
|
InvalidWidths = 65,
|
||||||
ConnectionLostDeprecated = 66,
|
ConnectionLost = 66,
|
||||||
ZombieConnection = 67,
|
ZombieConnection = 67,
|
||||||
Shutdown = 68,
|
Shutdown = 68,
|
||||||
ReasonNotSetDeprecated = 69,
|
ReasonNotSet = 69,
|
||||||
LoadingStateTimeout = 70,
|
LoadingStateTimeout = 70,
|
||||||
ResourcePackLoadingFailed = 71,
|
ResourcePackLoadingFailed = 71,
|
||||||
SearchingForSessionLoadingScreenFailed = 72,
|
SearchingForSessionLoadingScreenFailed = 72,
|
||||||
@ -478,7 +478,7 @@ pub enum DisconnectReason {
|
|||||||
NetherNetNegotiationTimeout = 86,
|
NetherNetNegotiationTimeout = 86,
|
||||||
NetherNetInactivityTimeout = 87,
|
NetherNetInactivityTimeout = 87,
|
||||||
StaleConnectionBeingReplaced = 88,
|
StaleConnectionBeingReplaced = 88,
|
||||||
RealmsSessionNotFoundDeprecated = 89,
|
RealmsSessionNotFound = 89,
|
||||||
BadPacket = 90,
|
BadPacket = 90,
|
||||||
NetherNetFailedToCreateOffer = 91,
|
NetherNetFailedToCreateOffer = 91,
|
||||||
NetherNetFailedToCreateAnswer = 92,
|
NetherNetFailedToCreateAnswer = 92,
|
||||||
@ -511,6 +511,32 @@ pub enum DisconnectReason {
|
|||||||
RealmsTimelineRequired = 119,
|
RealmsTimelineRequired = 119,
|
||||||
GuestWithoutHost = 120,
|
GuestWithoutHost = 120,
|
||||||
FailedToJoinExperience = 121,
|
FailedToJoinExperience = 121,
|
||||||
|
NetherNetDataChannelClosed = 122,
|
||||||
|
DiscoveryEnvironmentMismatch = 123,
|
||||||
|
HostWithoutKeys = 124,
|
||||||
|
HostSignedOut = 125,
|
||||||
|
ScriptWatchdogException = 126,
|
||||||
|
ScriptMemoryLimitExceeded = 127,
|
||||||
|
StorageLowDuringGameplay = 128,
|
||||||
|
StorageFullDuringGameplay = 129,
|
||||||
|
LevelStorageCorruption = 130,
|
||||||
|
EditionMismatchVanillaToEdu = 131,
|
||||||
|
EditionMismatchEduToVanilla = 132,
|
||||||
|
EditorMismatchEditorToVanilla = 133,
|
||||||
|
EditorMismatchVanillaToEditor = 134,
|
||||||
|
DenyListed = 135,
|
||||||
|
NonceMissing = 136,
|
||||||
|
NonceNotFound = 137,
|
||||||
|
NonceExpired = 138,
|
||||||
|
NonceNotValid = 139,
|
||||||
|
HostDisconnected = 140,
|
||||||
|
EditorJoinIntentPolicyFailure = 141,
|
||||||
|
NetherNetIdentityNotAllowed = 142,
|
||||||
|
InvalidName = 143,
|
||||||
|
ExpiredToken = 144,
|
||||||
|
HostAcceptsNoTypeOfAuth = 145,
|
||||||
|
NotAuthenticatedFastFail = 146,
|
||||||
|
EditorNotAllowed = 147,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user