/* * This file is part of ComputerCraft - http://www.computercraft.info * Copyright Daniel Ratcliffe, 2011-2021. Do not distribute without permission. * Send enquiries to dratcliffe@gmail.com */ package dan200.computercraft.shared.network.client; import dan200.computercraft.client.SoundManager; import dan200.computercraft.shared.network.NetworkMessage; import net.minecraft.network.PacketBuffer; import net.minecraftforge.api.distmarker.Dist; import net.minecraftforge.api.distmarker.OnlyIn; import net.minecraftforge.fml.network.NetworkEvent; import javax.annotation.Nonnull; import java.util.UUID; /** * Stops a sound on the client * * Called when a speaker is broken. * * @see dan200.computercraft.shared.peripheral.speaker.TileSpeaker */ public class SpeakerStopClientMessage implements NetworkMessage { private final UUID source; public SpeakerStopClientMessage( UUID source ) { this.source = source; } public SpeakerStopClientMessage( PacketBuffer buf ) { source = buf.readUUID(); } @Override public void toBytes( @Nonnull PacketBuffer buf ) { buf.writeUUID( source ); } @Override @OnlyIn( Dist.CLIENT ) public void handle( NetworkEvent.Context context ) { SoundManager.stopSound( source ); } }