3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/network/packet/CameraAimAssistPacketPayload.h"
7#include "mc/platform/Result.h"
8#include "mc/world/level/camera/aimassist/camera_aim_assist/TargetMode.h"
9#include "mc/world/level/camera/controlscheme/Scheme.h"
30namespace CameraAimAssistSystemUtil {
33MCNAPI_C ::CameraAimAssistSystemUtil::BlockHitDetectResult blockHitDetect(
36 ::IConstBlockSource
const& region,
40 ::std::function<
bool(::Block
const&)>
const& isAcceptedBlock,
41 ::std::function<
bool(::BlockType
const&)>
const& isBlockExcluded,
42 ::std::function<
int(::BlockType
const&)>
const& getBlockPriority
45MCNAPI
void clearAimAssistForServerPlayer(::ServerPlayer& player);
47MCNAPI_C ::Frustum createFrustumForCachedFrustumComponent(
49 ::Vec3
const& direction,
50 ::Vec3
const& unitLeft,
54 ::Vec3
const& farCenter
57MCNAPI_C ::CameraAimAssistSystemUtil::BlockHitDetectResult firstBlockHitDetect(
58 ::IConstBlockSource
const& region,
59 ::BlockPos
const& currentBlockPos,
63 ::std::function<
bool(::Block
const&)>
const& isAcceptedBlock,
64 ::std::function<
bool(::BlockType
const&)>
const& isBlockExcluded,
65 ::std::function<
int(::BlockType
const&)>
const& getBlockPriority
68MCNAPI ::std::optional<::CameraAimAssistPacketPayload::TargetMode>
69getPacketTargetMode(::CameraAimAssist::TargetMode targetMode);
71MCNAPI ::Bedrock::Result<
74 ::CameraAimAssistErrorType::UnknownPresetId,
75 ::CameraAimAssistErrorType::UnknownCategoryId,
76 ::CameraAimAssistErrorType::MissingDependencies>>
77setAimAssistForServerPlayer(
78 ::ServerPlayer& player,
79 ::HashedString
const& presetId,
80 ::CameraAimAssist::TargetMode targetMode,
81 ::Vec2
const& viewAngle,
86MCNAPI_C ::Bedrock::Result<
89 ::CameraAimAssistErrorType::UnknownPresetId,
90 ::CameraAimAssistErrorType::UnknownCategoryId,
91 ::CameraAimAssistErrorType::MissingDependencies>>
92setAimAssistFromClient(
94 ::SharedTypes::v1_21_90::CameraPreset
const& cameraPreset,
98MCNAPI_C
bool shouldRotatePlayerOnProjectile(::std::string_view cameraMode, ::ControlScheme::Scheme controlScheme);
100MCNAPI_C
bool stepAndUpdateCurrentBlockPos(
102 ::BlockPos& currentBlockPos,
103 ::Vec3
const& endPos,
104 ::BlockPos
const& endBlockPos
Definition BlockType.h:84
Definition HashedString.h:5
Definition IConstBlockSource.h:25
Definition ServerPlayer.h:67
Definition MissingDependencies.h:7
Definition UnknownCategoryId.h:7
Definition UnknownPresetId.h:7
Definition BlockHitDetectResult.h:7
Definition CameraPreset.h:23