3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/utility/NonOwnerPointer.h"
7#include "mc/deps/core/utility/Owner.h"
8#include "mc/deps/core/utility/pub_sub/Connector.h"
9#include "mc/deps/core/utility/pub_sub/Publisher.h"
10#include "mc/deps/core/utility/pub_sub/Subscription.h"
11#include "mc/deps/shared_types/legacy/LevelSoundEvent.h"
12#include "mc/network/NetworkIdentifierWithSubId.h"
13#include "mc/network/packet/LevelSoundEventPacket.h"
14#include "mc/world/level/ILevelSoundManagerConnector.h"
15#include "mc/world/level/ServerAudioContentRegistry.h"
16#include "mc/world/level/ServerSoundDefinitionRegistry.h"
17#include "mc/world/level/ServerSoundInstanceManager.h"
37namespace Bedrock::PubSub::ThreadModel {
struct MultiThreaded; }
55 ::ll::TypedStorage<8, 176, ::LevelSoundEventPacket> mPacket;
56 ::ll::TypedStorage<8, 24, ::std::vector<::NetworkIdentifierWithSubId>> mNetworkIds;
64 ::ll::TypedStorage<8, 176, ::LevelSoundEventPacket> mPacket;
72 ::ll::TypedStorage<8, 176, ::LevelSoundEventPacket> mPacket;
73 ::ll::TypedStorage<8, 184, ::NetworkIdentifierWithSubId> mNetworkId;
81 ::ll::TypedStorage<8, 176, ::LevelSoundEventPacket> mPacket;
85 using QueuedSoundPacket = ::std::variant<
94 ::ll::TypedStorage<8, 104, ::Bedrock::Owner<::ServerSoundDefinitionRegistry>> mServerSoundDefinitionRegistry;
95 ::ll::TypedStorage<8, 168, ::ServerAudioContentRegistry> mServerAudioContentRegistry;
96 ::ll::TypedStorage<8, 208, ::ServerSoundInstanceManager> mServerSoundInstanceManager;
97 ::ll::TypedStorage<8, 24, ::Bedrock::NonOwnerPointer<::SoundPlayerInterface>> mSoundPlayer;
98 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::PacketSender>> mLevelPacketSender;
99 ::ll::TypedStorage<1, 1, bool> mIsClientSide;
100 ::ll::TypedStorage<1, 1, bool> mServerAuthSoundEnabled;
101 ::ll::TypedStorage<8, 24, ::Bedrock::NotNullNonOwnerPtr<::LevelEventCoordinator>
const> mLevelEventCoordinator;
105 ::std::vector<::std::variant<
123 mOnLevelSoundEventWithVolumeAndPitch;
128 mOnStopLevelSoundEvent;
130 mOnStopAllLevelSoundsEvent;
138 mOnRecordStartedEvent;
143 mOnRecordStoppedEvent;
144 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPlayerDisconnectedSubscription;
145 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPlayerConnectedSubscription;
146 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPlayerLeftDimensionSubscription;
147 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnPauseStateChangeSubscription;
157 virtual ::Bedrock::PubSub::Connector<
159 getOnLevelSoundEventConnector() ;
162 getOnLevelSoundEventWithVolumeAndPitchConnector() ;
164 virtual ::Bedrock::PubSub::Connector<void(::std::string
const&)>& getOnStopLevelSoundEventConnector() ;
166 virtual ::Bedrock::PubSub::Connector<void()>& getOnStopAllLevelSoundsEventConnector() ;
168 virtual ::Bedrock::PubSub::Connector<void()>& getOnStopMusicEventConnector() ;
175 ::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface> soundPlayer,
177 ::Bedrock::NotNullNonOwnerPtr<::LevelEventCoordinator> levelEventCoordinator,
178 ::Bedrock::NotNullNonOwnerPtr<::PacketSender> packetSender,
179 bool isServerAuthSoundEnabled
201 ::std::optional<::Vec3>
const& fireAtPosition
206 ::SharedTypes::Legacy::LevelSoundEvent type,
212 ::std::optional<::Vec3>
const& fireAtPosition
216 ::std::string
const& soundEventName,
218 ::std::optional<::NetworkIdentifierWithSubId> recipient,
219 ::std::optional<::BroadcastOptions> broadcast
237 ::std::optional<::Vec3>
const& fireAtPosition
242 ::SharedTypes::Legacy::LevelSoundEvent type,
248 ::std::optional<::Vec3>
const& fireAtPosition
252 MCNAPI
void playSound(::SharedTypes::Legacy::LevelSoundEvent type,
::Vec3 const& pos,
float volume,
float pitch);
254 MCNAPI
void playSound(
255 ::SharedTypes::Legacy::LevelSoundEvent type,
262 MCNAPI
void playSoundForPlayerInDimension(
264 ::SharedTypes::Legacy::LevelSoundEvent type,
275 ::SharedTypes::Legacy::LevelSoundEvent type,
281 ::std::optional<::Vec3>
const& fireAtPosition
285 MCNAPI
void processQueuedSoundPackets();
299 ::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface> soundPlayer,
301 ::Bedrock::NotNullNonOwnerPtr<::LevelEventCoordinator> levelEventCoordinator,
302 ::Bedrock::NotNullNonOwnerPtr<::PacketSender> packetSender,
303 bool isServerAuthSoundEnabled
310 MCNAPI ::Bedrock::PubSub::Connector<
Definition ActorSoundIdentifier.h:17
Definition Connector.h:15
Definition Publisher.h:25
Definition IDimension.h:24
Definition ILevelSoundManagerConnector.h:19
Definition IPlayerConnectionConnector.h:15
Definition IPlayerDimensionTransferConnector.h:15
Definition LevelEventCoordinator.h:22
MCAPI void subscribeToPlayerDimensionTransfers(::IPlayerDimensionTransferConnector &connector)
MCAPI void playSynchronizedSound_DEPRECATED(::IDimension &dimension, ::SharedTypes::Legacy::LevelSoundEvent type, ::Vec3 const &pos, ::Player *primaryLocalPlayer, int data, ::ActorSoundIdentifier const &actorSoundIdentifier, bool isGlobal, ::std::optional<::Vec3 > const &fireAtPosition)
MCAPI void _stopBroadcastsForPlayer(::NetworkIdentifierWithSubId const &player, ::std::optional<::DimensionType > dimension)
MCAPI ::Bedrock::PubSub::Connector< void()> & $getOnStopMusicEventConnector()
MCAPI void subscribeToPlayerConnectionEvents(::IPlayerConnectionConnector &connector)
MCAPI void registerPauseManagerCallback(::Bedrock::PubSub::Connector< void(bool)> &connector)
MCAPI void playPredictiveSynchronizedSound(::IDimension &dimension, ::SoundEventIdentifier const &soundEvent, ::Vec3 const &pos, ::Player *targetPlayer, int data, ::ActorSoundIdentifier const &actorSoundIdentifier, bool isGlobal, ::std::optional<::Vec3 > const &fireAtPosition)
MCAPI void _queueSoundPacket(::std::variant< ::LevelSoundManager::QueuedSoundSendPacket, ::LevelSoundManager::QueuedSoundBroadcastPacket, ::LevelSoundManager::QueuedSoundBroadcastUserIdPacket, ::LevelSoundManager::QueuedSoundBroadcastMultipleUserIdsPacket > packet)
MCAPI void broadcastSoundEvent(::IDimension &dimension, ::SharedTypes::Legacy::LevelSoundEvent type, ::Vec3 const &pos, int data, ::ActorSoundIdentifier const &actorSoundIdentifier, bool isGlobal, ::Player *primaryLocalPlayer, ::std::optional<::Vec3 > const &fireAtPosition)
MCAPI void playPredictiveSynchronizedSound(::IDimension &dimension, ::SharedTypes::Legacy::LevelSoundEvent type, ::Vec3 const &pos, ::Player *targetPlayer, int data, ::ActorSoundIdentifier const &actorSoundIdentifier, bool isGlobal, ::std::optional<::Vec3 > const &fireAtPosition)
MCAPI ::Bedrock::PubSub::Connector< void(::PlaySoundOptions const &)> & $getOnLevelSoundEventWithVolumeAndPitchConnector()
MCAPI void onViewRegionMoved(::NetworkIdentifierWithSubId const &player, ::BlockPos const &position, uint radius, ::DimensionType dimension)
MCAPI ::std::optional<::ServerSoundInstance > createServerSoundInstance(::std::string const &soundEventName, int loopCount, ::std::optional<::NetworkIdentifierWithSubId > recipient, ::std::optional<::BroadcastOptions > broadcast)
MCAPI void broadcastSoundEvent(::IDimension &dimension, ::SoundEventIdentifier const &soundEvent, ::Vec3 const &pos, int data, ::ActorSoundIdentifier const &actorSoundIdentifier, bool isGlobal, ::Player *primaryLocalPlayer, ::std::optional<::Vec3 > const &fireAtPosition)
MCAPI ::Bedrock::PubSub::Connector< void()> & $getOnStopAllLevelSoundsEventConnector()
MCAPI ::Bedrock::PubSub::Connector< void(::SoundEventIdentifier const &, ::Vec3 const &, int, ::ActorSoundIdentifier const &, bool)> & $getOnLevelSoundEventConnector()
MCAPI LevelSoundManager(::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface > soundPlayer, bool isClientSide, ::Bedrock::NotNullNonOwnerPtr<::LevelEventCoordinator > levelEventCoordinator, ::Bedrock::NotNullNonOwnerPtr<::PacketSender > packetSender, bool isServerAuthSoundEnabled)
MCAPI void * $ctor(::Bedrock::NotNullNonOwnerPtr<::SoundPlayerInterface > soundPlayer, bool isClientSide, ::Bedrock::NotNullNonOwnerPtr<::LevelEventCoordinator > levelEventCoordinator, ::Bedrock::NotNullNonOwnerPtr<::PacketSender > packetSender, bool isServerAuthSoundEnabled)
MCAPI ::Bedrock::PubSub::Connector< void(::std::string const &)> & $getOnStopLevelSoundEventConnector()
Definition PacketSender.h:17
Definition ServerSoundHandle.h:5
Definition ServerSoundInstance.h:13
Definition SoundPlayerInterface.h:24
Definition MultiThreaded.h:7
Definition BroadcastOptions.h:5
Definition DimensionType.h:5
Definition LevelSoundManager.h:51
Definition LevelSoundManager.h:60
Definition LevelSoundManager.h:68
Definition LevelSoundManager.h:77
Definition NetworkIdentifierWithSubId.h:10
Definition PlaySoundOptions.h:10
Definition SoundEventIdentifier.h:13