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 {
34MCNAPI ::CameraAimAssistSystemUtil::BlockHitDetectResult blockHitDetect(
37 ::IConstBlockSource
const& region,
41 ::std::function<
bool(::Block
const&)>
const& isAcceptedBlock,
42 ::std::function<
bool(::BlockType
const&)>
const& isBlockExcluded,
43 ::std::function<
int(::BlockType
const&)>
const& getBlockPriority
47MCNAPI
void clearAimAssistForServerPlayer(::ServerPlayer& player);
50MCNAPI ::Frustum createFrustumForCachedFrustumComponent(
52 ::Vec3
const& direction,
53 ::Vec3
const& unitLeft,
57 ::Vec3
const& farCenter
60MCNAPI ::CameraAimAssistSystemUtil::BlockHitDetectResult firstBlockHitDetect(
61 ::IConstBlockSource
const& region,
62 ::BlockPos
const& currentBlockPos,
66 ::std::function<
bool(::Block
const&)>
const& isAcceptedBlock,
67 ::std::function<
bool(::BlockType
const&)>
const& isBlockExcluded,
68 ::std::function<
int(::BlockType
const&)>
const& getBlockPriority
72MCNAPI ::std::optional<::CameraAimAssistPacketPayload::TargetMode>
73getPacketTargetMode(::CameraAimAssist::TargetMode targetMode);
75MCNAPI ::Bedrock::Result<
78 ::CameraAimAssistErrorType::UnknownPresetId,
79 ::CameraAimAssistErrorType::UnknownCategoryId,
80 ::CameraAimAssistErrorType::MissingDependencies>>
81setAimAssistForServerPlayer(
82 ::ServerPlayer& player,
83 ::HashedString
const& presetId,
84 ::CameraAimAssist::TargetMode targetMode,
85 ::Vec2
const& viewAngle,
91MCNAPI ::Bedrock::Result<
94 ::CameraAimAssistErrorType::UnknownPresetId,
95 ::CameraAimAssistErrorType::UnknownCategoryId,
96 ::CameraAimAssistErrorType::MissingDependencies>>
97setAimAssistFromClient(
99 ::SharedTypes::v1_21_90::CameraPreset
const& cameraPreset,
103MCNAPI
bool shouldRotatePlayerOnProjectile(::std::string_view cameraMode, ::ControlScheme::Scheme controlScheme);
105MCNAPI
bool stepAndUpdateCurrentBlockPos(
107 ::BlockPos& currentBlockPos,
108 ::Vec3
const& endPos,
109 ::BlockPos
const& endBlockPos
Definition BlockType.h:84
Definition HashedString.h:5
Definition IConstBlockSource.h:25
Definition ServerPlayer.h:68
Definition MissingDependencies.h:7
Definition UnknownCategoryId.h:7
Definition UnknownPresetId.h:7
Definition BlockHitDetectResult.h:7
Definition CameraPreset.h:20