Skip to content
LeviMC
English
AutoLightDark
LeviLamina
Loading...
Searching...
No Matches
InteractiveTools.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/game_refs/WeakRef.h"
7#include "mc/editor/InteractiveToolError.h"
8#include "mc/editor/Task.h"
9
10// auto generated forward declare list
11// clang-format off
12class BlockPos;
13namespace Editor { class RelativeVolumeListBlockVolume; }
14namespace Editor { struct CoroutineStatus; }
15namespace Editor::BlockUtils::FloodLevel { struct FloodResult; }
16namespace Editor::Coroutine { class CoroutineTaskContext; }
17namespace Editor::InteractiveTools { struct FloodCommitResult; }
18namespace Editor::InteractiveTools { struct FloodEntry; }
19namespace Editor::InteractiveTools { struct FloodOperationMetadata; }
20namespace Editor::InteractiveTools { struct ResultMetadata; }
21namespace cereal { struct ReflectionCtx; }
22namespace Editor::InteractiveTools { struct PreparedVolumeResultStream; }
23namespace Editor::Services { class ClientVolumeRenderItem; }
24// clang-format on
25
26namespace Editor::InteractiveTools {
27// functions
28// NOLINTBEGIN
29MCNAPI void bindExtrudeTypes(::cereal::ReflectionCtx& ctx);
30
31MCNAPI void bindFloodResultTypes(::cereal::ReflectionCtx& ctx);
32
33MCNAPI void bindFloodTypes(::cereal::ReflectionCtx& ctx);
34
35MCNAPI void bindSmartFillTypes(::cereal::ReflectionCtx& ctx);
36
37MCNAPI void bindTypes(::cereal::ReflectionCtx& ctx);
38
39#ifdef LL_PLAT_C
40MCNAPI ::std::string_view getErrorCanonicalString(::Editor::InteractiveTools::InteractiveToolError error);
41
42MCNAPI ::std::function<void(::std::vector<::BlockPos> const&)> makeIncrementalPreviewPublisher(
43 ::WeakRef<::Editor::RelativeVolumeListBlockVolume> const& previewVolume,
44 ::WeakRef<::Editor::Services::ClientVolumeRenderItem> const& renderItem,
45 ::std::weak_ptr<bool> lifetimeGuard
46);
47#endif
48
49MCNAPI bool matchesAuthoritativeFloodResult(
50 ::Editor::BlockUtils::FloodLevel::FloodResult const& authoritative,
51 ::Editor::InteractiveTools::FloodCommitResult const& committed
52);
53
54#ifdef LL_PLAT_C
55MCNAPI ::Editor::Task<void, ::Editor::CoroutineStatus> prepareFloodEntryResultStream(
56 ::Editor::Coroutine::CoroutineTaskContext& context,
57 ::std::vector<::Editor::InteractiveTools::FloodEntry> entries,
58 ::Editor::InteractiveTools::ResultMetadata metadata,
59 ::std::string resultName,
60 ::std::shared_ptr<::Editor::InteractiveTools::PreparedVolumeResultStream> output
61);
62
63MCNAPI ::Editor::Task<void, ::Editor::CoroutineStatus> prepareVolumeResultStream(
64 ::Editor::Coroutine::CoroutineTaskContext& context,
65 ::Editor::RelativeVolumeListBlockVolume volume,
66 ::Editor::InteractiveTools::ResultMetadata metadata,
67 ::std::string resultName,
68 ::std::shared_ptr<::Editor::InteractiveTools::PreparedVolumeResultStream> output
69);
70#endif
71
72MCNAPI ::Editor::InteractiveTools::InteractiveToolError
73validateFloodOperationMetadata(::Editor::InteractiveTools::FloodOperationMetadata const& metadata);
74// NOLINTEND
75
76} // namespace Editor::InteractiveTools
Definition BlockPos.h:14
Definition CoroutineTaskContext.h:7
Definition RelativeVolumeListBlockVolume.h:24
Definition ClientVolumeRenderItem.h:7
Definition CoroutineStatus.h:7
Definition FloodCommitResult.h:7
Definition FloodEntry.h:7
Definition FloodOperationMetadata.h:7
Definition PreparedVolumeResultStream.h:7
Definition ResultMetadata.h:7
Definition ReflectionCtx.h:11