1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-06-30 17:13:05 +00:00
Jonathan Coates 01407544c9
Update to 1.20.5 (#1793)
- Switch most network code to use StreamCodec
 - Turtle/pocket computer upgrades now use DataComponentPatch instead of
   raw NBT.
2024-04-25 20:32:48 +00:00

41 lines
1.4 KiB
Java

// SPDX-FileCopyrightText: 2021 The CC: Tweaked Developers
//
// SPDX-License-Identifier: MPL-2.0
package dan200.computercraft.shared.network.client;
import dan200.computercraft.shared.network.NetworkMessage;
import dan200.computercraft.shared.network.NetworkMessages;
import dan200.computercraft.shared.peripheral.speaker.SpeakerBlockEntity;
import dan200.computercraft.shared.peripheral.speaker.SpeakerPeripheral;
import net.minecraft.core.UUIDUtil;
import net.minecraft.network.RegistryFriendlyByteBuf;
import net.minecraft.network.codec.StreamCodec;
import net.minecraft.network.protocol.common.custom.CustomPacketPayload;
import java.util.UUID;
/**
* Stops a sound on the client
* <p>
* Called when a speaker is broken.
*
* @param source The {@linkplain SpeakerPeripheral#getSource() id} of the speaker playing audio.
* @see SpeakerBlockEntity
*/
public record SpeakerStopClientMessage(UUID source) implements NetworkMessage<ClientNetworkContext> {
public static final StreamCodec<RegistryFriendlyByteBuf, SpeakerStopClientMessage> STREAM_CODEC = UUIDUtil.STREAM_CODEC
.map(SpeakerStopClientMessage::new, SpeakerStopClientMessage::source)
.cast();
@Override
public void handle(ClientNetworkContext context) {
context.handleSpeakerStop(source);
}
@Override
public CustomPacketPayload.Type<SpeakerStopClientMessage> type() {
return NetworkMessages.SPEAKER_STOP;
}
}